核间中断方法技术

技术编号:39641412 阅读:5 留言:0更新日期:2023-12-09 11:08
本公开实施例提供一种核间中断方法

【技术实现步骤摘要】
核间中断方法、设备、存储介质及程序产品


[0001]本公开实施例涉及计算机
,尤其涉及一种核间中断方法

设备

存储介质及程序产品


技术介绍

[0002]在虚拟机操作系统
Guest OS
中,虚拟处理器
(Virtual CPU

vcpu)
之间发送处理器间中断
(Inter

Processor Interrupt

IPI)
,发送侧通常通过写中断指令寄存器
(Interrupt Command Register

ICR)
来发送
IPI。
[0003]然而,写
ICR
寄存器的动作通常会导致退出虚拟机,即
vmexit
,陷入
trap
到基于内核的虚拟机
(Kernel

based Virtual Machine

KVM)
去处理,导致较大的虚拟化损耗


技术实现思路

[0004]本公开实施例提供一种核间中断方法

设备

存储介质及程序产品,以减少发送侧的虚拟化损耗

[0005]第一方面,本公开实施例提供一种核间中断方法,包括:
[0006]通过主操作系统,将客户操作系统完成核间中断的发送所需的关键信息透传给所述客户操作系统的客户机物理地址空间;
[0007]通过所述客户操作系统,从所述客户机物理地址空间读取所述关键信息,根据所述关键信息进行核间中断处理

[0008]第二方面,本公开实施例提供一种核间中断设备,包括:
[0009]透传模块,用于通过主操作系统,将客户操作系统完成核间中断的发送所需的关键信息透传给所述客户操作系统的客户机物理地址空间
GPA

[0010]处理模块,用于通过所述客户操作系统,从所述客户机物理地址空间读取所述关键信息,根据所述关键信息进行核间中断处理

[0011]第三方面,本公开实施例提供一种电子设备,包括:处理器和存储器;
[0012]所述存储器存储计算机执行指令;
[0013]所述处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的核间中断方法

[0014]第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的核间中断方法

[0015]第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的核间中断方法

[0016]本实施例提供的核间中断方法

设备

存储介质及程序产品,该方法通过主操作系统,将客户操作系统完成核间中断的发送所需的关键信息透传给客户操作系统的客户机物
理地址空间
GPA
,通过客户操作系统,从客户机物理地址空间读取关键信息,根据关键信息进行核间中断处理

本实施例通过将客户操作系统发送核间中断所需的关键信息从主操作系统的存储空间透传给客户操作系统的客户机物理地址空间,进而在进行核间中断发送时,直接从客户机物理地址空间读取该关键信息,从而避免了
vmexit

KVM
去获取该关键信息,减少了虚拟化损耗,提升了虚拟机整体性能

附图说明
[0017]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图

[0018]图1为相关技术提供的
Guest OS IPI
发送侧的
IPI
发送流程示意图;
[0019]图2为本公开实施例提供的核间中断处理方法的流程示意图;
[0020]图3为本公开实施例提供的终端设备的架构图;
[0021]图4为本公开实施例提供的新的
Kernel Module
的初始化流程示意图;
[0022]图5为本公开实施例提供的新的
Kernel Module
的核间中断处理逻辑示意图;
[0023]图6为本公开实施例提供的核间中断设备的结构框图;
[0024]图7为本公开实施例提供的核间中断设备的硬件结构示意图

具体实施方式
[0025]为使本公开实施例的目的

技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚

完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例

基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围

[0026]在虚拟机操作系统
Guest OS
中,虚拟处理器
(Virtual CPU

vcpu)
之间发送处理器间中断
(Inter

Processor Interrupt

IPI)
,所带来的虚拟化损耗较大,主要体现在两个方面:一个方面是发送侧通过写中断指令寄存器
(Interrupt Command Register

ICR)
发送
IPI
,然而写
ICR
寄存器的动作通常会导致退出虚拟机,即
vmexit
,陷入
trap

KVM(Kernel

Based Virtual Machines
,是一个基于
Linux
内核的虚拟化技术
,
可以直接
Linux
内核转换为系统管理程序
Hypervisor
从而使得
Linux
内核能够直接管理虚拟机,直接调用
Linux
内核中的内存管理

进程管理子系统来管理虚拟机
)
去处理,导致虚拟化损耗;另一个方面是接收测接收到
IPI
时,通常会造成
vmexit

KVM
...

【技术保护点】

【技术特征摘要】
1.
一种核间中断处理方法,其特征在于,包括:通过主操作系统,将客户操作系统完成核间中断的发送所需的关键信息透传给所述客户操作系统的客户机物理地址空间;通过所述客户操作系统,从所述客户机物理地址空间读取所述关键信息,根据所述关键信息进行核间中断处理
。2.
根据权利要求1所述的方法,其特征在于,所述关键信息包括所述客户操作系统对应的高级虚拟中断控制器背页和物理高级可编程中断控制器编号表
。3.
根据权利要求2所述的方法,其特征在于,所述通过所述客户操作系统,从所述客户机物理地址空间读取所述关键信息,根据所述关键信息进行核间中断处理,包括:响应于客户操作系统向目标虚拟处理器发送核间中断,通过所述客户操作系统,确定所述目标虚拟处理器对应的高级可编程中断控制器的第一编号;所述核间中断包括中断向量;根据所述第一编号,从所述背页中确定所述目标虚拟处理器对应的目标背页,根据所述中断向量将所述目标背页中的中断请求寄存器中的对应位进行置位;根据所述第一编号,从所述编号表中读取所述目标虚拟处理器对应的状态信息,根据所述状态信息进行所述核间中断的投递,以使所述目标虚拟处理器基于所述中断请求寄存器的置位信息执行中断操作
。4.
根据权利要求3所述的方法,其特征在于,所述根据所述状态信息进行所述核间中断的投递之前,还包括:通过主操作系统,将门铃寄存器直通给客户操作系统;所述根据所述状态信息进行所述核间中断的投递,包括:若所述状态信息指示所述目标虚拟处理器处于被调度状态下,则从所述编号表中读取所述目标虚拟处理器所在的物理处理器对应的高级可编程中断控制器的第二编号,将所述第二编号写入门铃寄存器,以实现所述核间中断的投递
。5.
根据权利要求3所述的方法,其特征在于,所述根据所述状态信息进行所述核间中断的投递,包括:若所述状态信息指示所述目标虚拟处理器未处于被调度状态下,则向所述目标虚拟处理器发送预设参数,将所述目标虚拟处理器进行调度,以在所述目标虚拟处理器处于被调度状态后实现所述核间中断的自动投递
。6.
根据权利要求3所述的方法,其特征在于,所述根据所述第一编号,从所述背页中确定所述目标虚拟处理器对应的目标背页,包括:若所述中断向量与预设向量一致,则根据所述第一编号,从所述背页中确定所述目标虚拟处理器对应的目标背页
。7.
根据权利要求6所述的方法,其特征在于,所述方法还包括:若所述中断向量与预设向量不一致,则向中断指令寄存器写入所述中断向量和所述目标虚拟处理器的编号,退出客户操作系统,通过主操作系统,基于所述中断指令寄存器中写入的所述中断向量和所述目标虚拟处理器的编号实现所述核...

【专利技术属性】
技术研发人员:周亮周宜波
申请(专利权)人:北京火山引擎科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1