CN105335222B - 中断信息的处理方法、虚拟机监控器及中断控制器 - Google Patents

中断信息的处理方法、虚拟机监控器及中断控制器 Download PDF

Info

Publication number
CN105335222B
CN105335222B CN201410245858.4A CN201410245858A CN105335222B CN 105335222 B CN105335222 B CN 105335222B CN 201410245858 A CN201410245858 A CN 201410245858A CN 105335222 B CN105335222 B CN 105335222B
Authority
CN
China
Prior art keywords
virtual machine
interrupting
interrupt
virtual
monitor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410245858.4A
Other languages
English (en)
Other versions
CN105335222A (zh
Inventor
李博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Beihang University
Original Assignee
Huawei Technologies Co Ltd
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd, Beihang University filed Critical Huawei Technologies Co Ltd
Priority to CN201410245858.4A priority Critical patent/CN105335222B/zh
Priority to PCT/CN2015/075379 priority patent/WO2015184913A1/zh
Priority to EP15804037.8A priority patent/EP3139269A4/en
Publication of CN105335222A publication Critical patent/CN105335222A/zh
Priority to US15/367,417 priority patent/US10268504B2/en
Application granted granted Critical
Publication of CN105335222B publication Critical patent/CN105335222B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

本发明实施例提供了一种中断信息的处理方法、虚拟机监控器及中断控制器,该方法包括:虚拟机监控器接收Q个第一中断信息,依据每个第一中断信息的中断号,从特定寄存器中获得对应的中断处理函数;调用获得的中断处理函数,以获得M个第二中断信息,M个第二中断信息为Q个第一中断信息中需要发送给虚拟机对应的处理器的中断信息;获得M个第二中断信息对应的虚拟机的标识;向虚拟CPU中断接口写入M个第二中断信息以及M个第二中断信息对应的虚拟机的标识,以便于虚拟CPU中断接口在确定M个第二中断信息对应的虚拟机运行后,向M个第二中断信息对应的虚拟机对应的处理器发送M个第二中断信息。本发明实施例提供的技术方案用以实现提高中断信息的处理效率。

Description

中断信息的处理方法、虚拟机监控器及中断控制器
【技术领域】
本发明涉及信息处理技术,尤其涉及一种中断信息的处理方法、虚拟机监控器及中断控制器。
【背景技术】
现有技术中,计算机的中央处理器(Central Processing Unit,CPU)在虚拟机监控器模式下,该CPU作为虚拟机监控器向虚拟机注入中断信息的方法是:寄存器的指针可以指向不同的中断向量表的地址,若该指针指向虚拟机监控器对应的中断向量表的地址,则虚拟机监控器可以使用该中断向量表中包含的中断处理函数,若该指针指向虚拟机对应的中断向量表的地址,则虚拟机可以使用该中断向量表中包含的中断处理函数,若该指针指向计算机的操作系统对应的中断向量表的地址,则计算机的操作系统可以使用该中断向量表中包含的中断处理函数。当虚拟机正在运行时,虚拟机调用中断向量表中的中断处理函数对中断信息进行处理,若虚拟机监控器需要向该虚拟机注入中断信息,虚拟机需要先停止运行,退出调用中断向量表中的中断处理函数,然后寄存器的指针指向虚拟机监控器对应的中断向量表的地址,使得虚拟机监控器可以调用该中断向量表中的中断处理函数,以实现向虚拟机注入中断信息。
然而,由于虚拟机控制器每次向虚拟机注入一个中断信息,都要发生上述虚拟机的退出事件,因此,虚拟机控制器一次只能向虚拟机注入一个中断信息,当中断信息数量较大时,将引发过多的虚拟机退出事件,增加了额外的性能开销,导致中断信息的处理效率较低。
【发明内容】
本发明实施例提供了一种中断信息的处理方法、虚拟机监控器及中断控制器,以实现提高中断信息的处理效率。
第一方面,本发明实施例提供了一种中断信息的处理方法,所述方法应用于包括中断控制器、虚拟机监控器、特定寄存器和至少一个虚拟机的系统,其中,所述中断控制器包括至少一个虚拟CPU中断接口,所述特定寄存器中存储虚拟机监控器中断向量表,所述虚拟机监控器中断向量表包括用于虚拟机监控器调用的中断处理函数,所述中断处理函数中包含中断号;包括:
所述虚拟机监控器接收Q个第一中断信息,Q为大于或者等于1的整数;
所述虚拟机监控器依据每个所述第一中断信息的中断号,从所述特定寄存器中获得对应的中断处理函数;
所述虚拟机监控器调用获得的所述中断处理函数,以获得M个第二中断信息,所述M个第二中断信息为所述Q个第一中断信息中需要发送给虚拟机对应的处理器的中断信息;M为小于或者等于Q的正整数;
所述虚拟机监控器获得所述M个第二中断信息对应的虚拟机的标识;
所述虚拟机监控器向所述虚拟CPU中断接口写入所述M个第二中断信息以及所述M个第二中断信息对应的虚拟机的标识,以便于所述虚拟CPU中断接口在确定所述M个第二中断信息对应的虚拟机运行后,向所述M个第二中断信息对应的虚拟机对应的处理器发送所述M个第二中断信息。
在第一方面的第一种可能的实现方式中,所述虚拟机监控器向所述虚拟CPU中断接口写入所述M个第二中断信息以及所述M个第二中断信息对应的虚拟机的标识,包括:
所述虚拟机监控器对所述M个第二中断信息进行缓存;
所述虚拟机监控器检测所述虚拟CPU中断接口中当前存储的第三中断信息的数目K,K为大于或等于0的整数;
所述虚拟机监控器依据所述第三中断信息的数目K和预设的所述虚拟CPU中断接口的中断数目阈值P,从所述M个第二中断信息中获得优先级最高的N个第二中断信息,P为大于或等于1的整数,N小于或等于P与K的差值;
所述虚拟机监控器向所述虚拟CPU中断接口写入所述N个第二中断信息和所述N个第二中断信息对应的虚拟机的标识,N小于或等于P与K的差值。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,每个所述虚拟CPU中断接口包括第一寄存器和第二寄存器;所述虚拟机监控器向所述虚拟CPU中断接口写入所述N个第二中断信息和所述N个第二中断信息对应的虚拟机的标识,包括:
所述虚拟机监控器向所述第一寄存器写入所述N个第二中断信息,以使得所述第一寄存器按照优先级由高到低的顺序对所述N个第二中断信息进行排序,以获得排序结果,以及依据所述排序结果,将所述N个第二中断信息中优先级最高的R个第二中断信息写入所述第二寄存器,所述R个第二中断信息用于所述虚拟CPU中断接口在确定所述虚拟机的标识对应的虚拟机运行后,向所述虚拟机对应的处理器发送所述R个第二中断信息,R为小于或等于N的正整数。
在第一方面的第三种可能的实现方式中,所述虚拟机监控器调用获得的所述中断处理函数,以获得M个第二中断信息,包括:
所述虚拟机监控器调用获得的所述中断处理函数,以使得被调用的所述中断处理函数开始运行,以及检测每个所述第一中断信息对应的操作位置和每个所述虚拟机的位置信息,以获得所述操作位置位于所述虚拟机的位置信息内的M个所述第一中断信息;
所述虚拟机监控器将获得的M个所述第一中断信息作为所述M个第二中断信息。
第二方面,本发明实施例还提供了一种中断信息的处理方法,所述方法应用于包括中断控制器和一个虚拟机的系统,其中,所述中断控制器包括一个虚拟CPU中断接口和中断响应单元;包括:
所述中断响应单元接收物理设备发送的Q个第一中断信息,Q为大于或者等于1的整数;
所述中断响应单元向所述虚拟CPU中断接口写入所述Q个中断信息,以使得所述虚拟CPU中断接口在确定所述虚拟机运行后,向所述虚拟机对应的处理器发送所述Q个中断信息。
在第二方面的第一种可能的实现方式中,所述虚拟CPU中断接口包括第一寄存器和第二寄存器;所述中断响应单元向所述虚拟CPU中断接口写入所述Q个中断信息,包括:
所述中断响应单元向所述第一寄存器写入所述Q个中断信息,以使得所述第一寄存器按照优先级由高到低的顺序对所述Q个中断信息进行排序,以获得排序结果,以及依据所述排序结果,将所述Q个中断信息中优先级最高的R个中断信息写入所述第二寄存器,所述R个中断信息用于所述虚拟CPU中断接口在确定所述虚拟机运行后,向所述虚拟机对应的处理器发送所述R个中断信息,R为小于或等于N的正整数。
第三方面,本发明实施例提供了一种虚拟机监控器,应用于包括中断控制器、所述虚拟机监控器、特定寄存器和至少一个虚拟机的系统,其中,所述中断控制器包括至少一个虚拟CPU中断接口,所述特定寄存器中存储虚拟机监控器中断向量表,所述虚拟机监控器中断向量表包括用于虚拟机监控器调用的中断处理函数,所述中断处理函数中包含中断号;包括:
接收器,用于接收Q个第一中断信息,Q为大于或者等于1的整数;
虚拟中断控制器,用于依据每个所述第一中断信息的中断号,从所述特定寄存器中获得对应的中断处理函数;
所述虚拟中断控制器,还用于调用获得的所述中断处理函数,以获得M个第二中断信息,所述M个第二中断信息为所述Q个第一中断信息中需要发送给虚拟机对应的处理器的中断信息;M为小于或者等于Q的正整数;
所述虚拟中断控制器,还用于获得所述M个第二中断信息对应的虚拟机的标识;
所述虚拟中断控制器,还用于向所述虚拟CPU中断接口写入所述M个第二中断信息以及所述M个第二中断信息对应的虚拟机的标识,以便于所述虚拟CPU中断接口在确定所述M个第二中断信息对应的虚拟机运行后,向所述M个第二中断信息对应的虚拟机对应的处理器发送所述M个第二中断信息。
在第三方面的第一种可能的实现方式中,所述虚拟中断控制器具体用于:
对所述M个第二中断信息进行缓存;
检测所述虚拟CPU中断接口中当前存储的第三中断信息的数目K,K为大于或等于0的整数;
依据所述第三中断信息的数目K和预设的所述虚拟CPU中断接口的中断数目阈值P,从所述M个第二中断信息中获得优先级最高的N个第二中断信息,P为大于或等于1的整数,N小于或等于P与K的差值;
向所述虚拟CPU中断接口写入所述N个第二中断信息和所述N个第二中断信息对应的虚拟机的标识,N小于或等于P与K的差值。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,每个所述虚拟CPU中断接口包括第一寄存器和第二寄存器;所述向所述虚拟CPU中断接口写入所述N个第二中断信息和所述N个第二中断信息对应的虚拟机的标识,具体包括:
向所述第一寄存器写入所述N个第二中断信息,以使得所述第一寄存器按照优先级由高到低的顺序对所述N个第二中断信息进行排序,以获得排序结果,以及依据所述排序结果,将所述N个第二中断信息中优先级最高的R个第二中断信息写入所述第二寄存器,所述R个第二中断信息用于所述虚拟CPU中断接口在确定所述虚拟机的标识对应的虚拟机运行后,向所述虚拟机对应的处理器发送所述R个第二中断信息,R为小于或等于N的正整数。
在第三方面的第三种可能的实现方式中,所述虚拟中断控制器,具体用于:
调用获得的所述中断处理函数,以使得被调用的所述中断处理函数开始运行,以及检测每个所述第一中断信息对应的操作位置和每个所述虚拟机的位置信息,以获得所述操作位置位于所述虚拟机的位置信息内的M个所述第一中断信息;
将获得的M个所述第一中断信息作为所述M个第二中断信息。
第四方面,本发明实施例还提供了一种中断控制器,其特征在于,应用于包括所述中断控制器和一个虚拟机的系统,所述中断控制器包括一个虚拟CPU中断接口和中断响应单元;其中,
所述中断响应单元,用于接收物理设备发送的Q个第一中断信息,Q为大于或者等于1的整数;
所述中断响应单元,还用于向所述虚拟CPU中断接口写入所述Q个中断信息,以使得所述虚拟CPU中断接口在确定所述虚拟机运行后,向所述虚拟机对应的处理器发送所述Q个中断信息。
在第四方面的第一种可能的实现方式中,所述虚拟CPU中断接口包括第一寄存器和第二寄存器;所述中断响应单元具体用于:
向所述第一寄存器写入所述Q个中断信息,以使得所述第一寄存器按照优先级由高到低的顺序对所述Q个中断信息进行排序,以获得排序结果,以及依据所述排序结果,将所述Q个中断信息中优先级最高的R个中断信息写入所述第二寄存器,所述R个中断信息用于所述虚拟CPU中断接口在确定所述虚拟机运行后,向所述虚拟机对应的处理器发送所述R个中断信息,R为小于或等于N的正整数。
由以上技术方案可以看出,本发明实施例具有以下有益效果:
虚拟机监控器可以直接调用特定寄存器中的中断处理函数,不需要等待虚拟机退出后,使用共用的中断向量表中的中断处理函数,虚拟机监控器可以通过中断控制器的虚拟CPU中断接口向虚拟机注入中断信息,与现有技术中每注入一个中断信息都要引发虚拟机退出事件相比,本实施例的方法可以批量地向虚拟机注入中断信息,因此,能够降低额外的性能开销,简化中断信息的处理流程,从而提高中断信息的处理效率。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例所提供的中断信息的处理方法的实施例一的流程示意图;
图2是本发明实施例所提供的中断信息的处理方法的实施例一所应用的系统的结构示意图;
图3是本发明实施例所提供的中断信息的处理方法的实施例二的流程示意图;
图4是本发明实施例所提供的中断信息的处理方法的实施例二所应用的系统的结构示意图;
图5是本发明实施例所提供的虚拟机监控器的功能方块图;
图6是本发明实施例所提供的虚拟机监控器的结构示意图;
图7是本发明实施例所提供的中断控制器的功能方块图;
图8是本发明实施例所提供的中断控制器的结构示意图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例给出一种中断信息的处理方法,所述方法应用于包括中断控制器、虚拟机监控器、特定寄存器和至少一个虚拟机的系统,所述中断控制器包括至少一个虚拟CPU中断接口,所述特定寄存器中存储虚拟机监控器中断向量表,所述虚拟机监控器中断向量表包括用于虚拟机监控器调用的中断处理函数,所述中断处理函数中包含中断号。
请参考图1,其为本发明实施例所提供的中断信息的处理方法的实施例一的流程示意图,如图所示,该方法包括以下步骤:
步骤101,所述虚拟机监控器接收Q个第一中断信息,Q为大于或者等于1的整数。
具体的,请参考图2,其为本发明实施例所提供的中断信息的处理方法的实施例一所应用的系统的结构示意图,如图2所示,虚拟机监控器包括一个虚拟中断控制器和中断响应单元;本实施例中,虚拟机监控器接收的Q个第一中断信息可以包括:虚拟设备产生的虚拟中断信息和/或物理设备产生的物理中断信息。
举例说明,虚拟机监控器接收虚拟设备产生的虚拟中断信息的方法可以包括:如图2所示,虚拟设备产生虚拟中断信息,然后虚拟设备调用虚拟机监控器中的虚拟中断控制器的接口,将虚拟设备产生的虚拟中断信息直接发送到虚拟中断控制器,这样,虚拟中断控制器就可以从虚拟设备接收虚拟中断信息。
举例说明,虚拟机监控器接收物理设备产生的物理中断信息的方法可以包括:如图2所示,物理设备产生物理中断信息,然后将物理中断信息发送给中断控制器;该中断控制器除了包含上述虚拟CPU中断接口外,还包含中断响应单元和CPU中断接口,中断控制器的中断响应单元首先判断预设的控制寄存器的中断屏蔽优先控制(Interrupt maskingoverride,IMO)位的值,若控制寄存器的IMO位的值等于1(即HCR.IMO=1),则表示当前模式为监控器模式(Hyp模式),则物理中断信息需要陷入虚拟机监控器,那么中断控制器的中断响应单元就通过中断控制器的CPU中断接口,将收到的物理中断信息发送给虚拟机监控器的中断响应单元,虚拟机监控器的中断响应单元调用虚拟中断控制器接口,将收到的物理中断信息发送到虚拟机监控器的虚拟中断控制器,这样虚拟中断控制器就可以接收到从物理设备发来的物理中断信息。
步骤102,所述虚拟机监控器依据每个所述第一中断信息的中断号,从所述特定寄存器中获得对应的中断处理函数。
具体的,本发明实施例中,在操作系统中增加一个特定寄存器,该特定寄存器只存储虚拟机监控器中断向量表,不存储计算机的操作系统的中断向量表和虚拟机的中断向量表;该虚拟机监控器中断向量表指的是仅用于虚拟机监控器使用的中断向量表。
所述虚拟机监控器中断向量表中包括用于虚拟机监控器调用的至少一个中断处理函数,每个中断处理函数对应一个中断号。其中,中断处理函数与中断号对应的方法是:每个中断处理函数中包含对应的中断号。
当虚拟机监控器的虚拟中断控制器接收到Q个第一中断信息后,依据每个第一中断信息的中断号,在特定寄存器中存储的虚拟机监控器中断向量表中,查找每个第一中断信息的中断号所对应的中断处理函数;例如,虚拟中断控制器对中断处理函数进行遍历,当发现遍历到的中断处理函数中包含某第一中断信息的中断号时,则确定该中断处理函数是该第一中断信息对应的中断处理函数。
步骤103,所述虚拟机监控器调用获得的所述中断处理函数,以获得M个第二中断信息,所述M个第二中断信息为所述Q个第一中断信息中需要发送给虚拟机对应的处理器的中断信息;M为小于或者等于Q的正整数。
具体的,所述虚拟机监控器调用获得的所述中断处理函数,以使得被调用的所述中断处理函数开始运行,中断处理函数运行后,自动检测第一中断信息对应的操作位置、当前运行的虚拟机以及每个所述虚拟机的位置信息,判断第一中断信息对应的操作位置是否属于某个虚拟机的位置信息内,如果某第一中断信息对应的操作位置属于某虚拟机的位置范围内,则确定该第一中断信息是发送给该虚拟机进行处理的,因此,中断处理函数自动检测后,可以获得操作位置位于虚拟机的位置信息内的M个所述第一中断信息。反之,如果某第一中断信息对应的操作位置不属于某虚拟机的位置范围,则确定该第一中断信息是发送给计算机的操作系统的进行处理的。
所述虚拟机监控器将获得的M个所述第一中断信息作为所述M个第二中断信息,也就是说,所述M个第二中断信息是所述Q个第一中断信息中需要发送给虚拟机对应的处理器的中断信息。
步骤104,所述虚拟机监控器获得所述M个第二中断信息对应的虚拟机的标识。
具体的,由于所述虚拟机监控器中的虚拟中断控制器调用的中断处理函数运行后,可以自动检测出某第一中断信息是发送给哪个虚拟机进行处理的,因此,虚拟中断控制器可以依据虚拟机与标识的对应关系,获得该第一中断信息需要发往的虚拟机的标识,例如,所述虚拟机的标识可以是虚拟机的ID。
步骤105,所述虚拟机监控器向所述虚拟CPU中断接口写入所述M个第二中断信息以及所述M个第二中断信息对应的虚拟机的标识,以便于所述虚拟CPU中断接口在确定所述M个第二中断信息对应的虚拟机运行后,向所述M个第二中断信息对应的虚拟机对应的处理器发送所述M个第二中断信息。
具体的,本发明实施例中,所述虚拟机监控器向所述虚拟CPU中断接口写入所述M个第二中断信息以及所述M个第二中断信息对应的虚拟机的标识的方法可以是:
所述虚拟机监控器对获得的M个第二中断信息进行缓存,然后检测虚拟CPU中断接口中当前存储的第三中断信息的数目K,K为大于或等于0的整数。虚拟机监控器依据所述第三中断信息的数目K和预设的所述虚拟CPU中断接口的中断数目阈值P,从所述M个第二中断信息中获得优先级最高的N个第二中断信息,P为大于或等于1的整数,N小于或等于P与K的差值;所述虚拟机监控器向所述虚拟CPU中断接口写入所述N个第二中断信息和所述N个第二中断信息对应的虚拟机的标识,N小于或等于P与K的差值。
优选的,对于虚拟中断控制器获得的M个第二中断信息,虚拟中断控制器第一次向中断控制器的虚拟CPU中断接口写入第二中断信息时,按照优先级由高到低的顺序对M个中断信息进行排序,然后依据预设的虚拟CPU中断接口的中断数目阈值P,从M个第二中断信息中获得优先级最高的P个第二中断信息,向中断控制器的虚拟CPU中断接口写入获得的P个第二中断信息以及P个第二中断信息对应的虚拟机的标识,以使得虚拟CPU中断接口存储的第二中断信息的数目K等于虚拟CPU中断接口的中断数目阈值P。
举例说明,虚拟CPU中断接口可以由第一寄存器和第二寄存器维持当前的第二中断信息,两个寄存器仅能够存储64个第二中断信息,两个寄存器存储的第二中断信息包括处于等待处理状态(如Pending状态)的第二中断信息和处于正在处理状态(如Active状态)的第二中断信息,则虚拟CPU中断接口的中断数目阈值P等于64。
由于虚拟机监控器可以同时启动多台虚拟机,因此,会有许多第二中断信息不能被及时处理,因此,若虚拟中断控制器收到的第二中断信息的数目M大于虚拟CPU中断接口的中断数目阈值P时,需要由虚拟中断控制器缓存部分的第二中断信息,以便于可以快速的向虚拟CPU中断接口写入第二中断信息。
举例说明,虚拟中断控制器可以维护两个有序队列,即第一中断队列和第二中断队列,其中,第一中断队列中存储处于等待处理状态的中断信息,第二中断队列中存储处于正在处理状态的中断信息,这两个队列中每个元素都记录相应的应当写入虚拟CPU中断接口的第二中断信息以及该第二中断信息在虚拟CPU中断接口中的位置,该位置用于标识第二中断信息在虚拟CPU中断接口中的优先级;虚拟中断控制器每次与虚拟CPU中断接口交互后,都会更新第一中断队列和第二中断队列。
从虚拟中断控制器第二次向中断控制器的虚拟CPU中断接口写入第二中断信息开始,在写入第二中断信息之前,虚拟中断控制器都需要检测所述虚拟CPU中断接口当前存储的第三中断信息的数目K。
若虚拟中断控制器检测到所述第三中断信息的数目K等于虚拟CPU中断接口的中断数目阈值P,且有新的优先级更高的第二中断信息需要写入,则虚拟中断控制器先从K个第三中断信息中取出优先级最低的S个第三中断信息,取出的第三中断信息可以是处于等待处理状态的第三中断信息,也可以使处于正在处理状态的第三中断信息;然后,虚拟中断控制器向所述虚拟CPU中断接口写入所述M个第二中断信息中优先级最高的S个第二中断信息;S为大于或者等于1的整数,且S小于或者等于K;也就是说,从所述K个第三中断信息中取出的第三中断信息的数目等于写入的第二中断信息的数目;当虚拟CPU中断接口的两个寄存器写满中断信息后,从两个寄存器取出多少第三中断信息,就需要向两个寄存器再写入多少第二中断信息,以充分利用寄存器的存储空间。优选的,虚拟中断控制器从所述中断信息中取出优先级最低的S个第三中断信息时,尽量保证取出第三中断信息后,两个寄存器中处于等待处理状态的第三中断信息的数目与处于正在处理状态的第三中断信息的数目相等。
若虚拟中断控制器检测到所述第三中断信息的数目K小于P,那么可以直接向所述虚拟CPU中断接口写入所述M个第二中断信息中优先级最高的N个第二中断信息;N小于或等于P与K之差。例如,若虚拟CPU中断接口的寄存器中的第三中断信息处理完,那么该第三中断信息将被清除,这样,虚拟中断控制器就可以将第一中断队列或第二中断队列中优先级最高的第二中断信息写入虚拟CPU中断接口。
举例说明,若每个所述虚拟CPU中断接口可以包括第一寄存器和第二寄存器;所述虚拟机监控器向所述虚拟CPU中断接口写入所述N个第二中断信息和所述N个第二中断信息对应的虚拟机的标识的方法可以是:
所述虚拟机监控器向所述第一寄存器写入所述N个第二中断信息,以使得所述第一寄存器按照优先级由高到低的顺序对所述N个第二中断信息进行排序,以获得排序结果,以及依据所述排序结果,将所述N个第二中断信息中优先级最高的R个第二中断信息写入所述第二寄存器,所述R个第二中断信息用于所述虚拟CPU中断接口在确定所述虚拟机的标识对应的虚拟机运行后,向所述虚拟机对应的处理器发送所述R个第二中断信息,R为小于或等于N的正整数。
本发明实施例中,所述虚拟机监控器向所述虚拟CPU中断接口写入所述M个第二中断信息以及所述M个第二中断信息对应的虚拟机的标识之后,所述虚拟CPU中断接口在确定所述M个第二中断信息对应的虚拟机运行后,可以向所述M个第二中断信息对应的虚拟机对应的处理器发送所述M个第二中断信息。
寄存器中预先存储有中断向量表,且寄存器的指针可以指向不同的中断向量表的地址,当该指针指向虚拟机对应的中断向量表的地址时,虚拟机可以使用该中断向量表中包含的中断处理函数,该中断向量表中保存中断信息的标识与中断处理函数的对应关系,虚拟机可以依据该对应关系,获得中断信息对应的中断处理函数,然后调用该中断处理函数处理从虚拟CPU中断接口获得的中断信息。虚拟机处理完中断信息后,清除虚拟CPU中断接口中存储的该中断信息,中断信息的处理流程结束。
本实施例中,虚拟机监控器可以直接调用特定寄存器中的中断处理函数,不需要等待虚拟机退出后,使用公用的中断向量表中的中断处理函数,虚拟机监控器可以通过中断控制器的虚拟CPU中断接口向虚拟机注入中断信息,与现有技术中每注入一个中断信息都要引发虚拟机退出事件相比,本实施例的方法可以批量地向虚拟机注入中断信息,因此,能够降低额外的性能开销,简化中断信息的处理流程,从而提高中断信息的处理效率。本实施例中,虚拟机监控器中利用高级精简指令集机器(Advanced Reduced-instruction-set-computer Machine,ARM)硬件实现两个中断队列,而不是利用软件实现两个中断队列,因此能够降低虚拟机监控器的复杂度。本实施例的方法与现有技术中虚拟机控制器对中断向量表进行修改的方法相比,可以利用独占的中断处理函数以及虚拟CPU中断接口直接向虚拟机注入中断信息,无需修改上层操作系统,具有透明性。
本发明实施例还给出一种中断信息的处理方法,所述方法应用于包括中断控制器和一个虚拟机的系统,所述中断控制器包括一个虚拟CPU中断接口和一个中断响应单元。
请参考图3,其为本发明实施例所提供的中断信息的处理方法的实施例二的流程示意图,如图所示,该方法包括以下步骤:
步骤301,所述中断响应单元接收物理设备发送的Q个第一中断信息,Q为大于或者等于1的整数。
具体的,请参考图4,其为本发明实施例所提供的中断信息的处理方法的实施例二所应用的系统的结构示意图,如图4所示,中断控制器接收的Q个第一中断信息可以包括物理设备产生的物理中断信息。
举例说明,中断控制器接收物理设备产生的物理中断信息的方法可以包括:如图4所示,物理设备产生Q个物理中断信息,然后将Q个物理中断信息发送给中断控制器,中断控制器中的中断响应单元接收到该Q个物理中断信息。中断控制器的中断响应单元判断预设的控制寄存器的IMO位的值,若控制寄存器的IMO位的值不等于1(即HCR.IMO不等于1),例如,IMO位的值等于0(即HCR.IMO=0),则表示当前模式为非监控器模式,则物理中断信息不需要陷入虚拟机监控器,因此,本实施例所应用的系统中不包括虚拟机监控器。
步骤302,所述中断响应单元向所述虚拟CPU中断接口写入所述Q个中断信息,以使得所述虚拟CPU中断接口在确定所述虚拟机运行后,向所述虚拟机对应的处理器发送所述Q个中断信息。
具体的,所述虚拟CPU中断接口中可以包括第一寄存器和第二寄存器,所述中断响应单元向所述第一寄存器写入所述Q个中断信息,以使得所述第一寄存器按照优先级由高到低的顺序对所述Q个中断信息进行排序,以获得排序结果,以及依据所述排序结果,将所述Q个中断信息中优先级最高的R个中断信息写入所述第二寄存器,所述R个中断信息用于所述虚拟CPU中断接口在确定所述虚拟机运行后,向所述虚拟机对应的处理器发送所述R个中断信息,R为小于或等于N的正整数。
寄存器中预先存储有中断向量表,且寄存器的指针可以指向不同的中断向量表的地址,当该指针指向虚拟机对应的中断向量表的地址时,虚拟机可以使用该中断向量表中包含的中断处理函数,该中断向量表中保存中断信息的标识与中断处理函数的对应关系,虚拟机可以依据该对应关系,获得中断信息对应的中断处理函数,然后调用该中断处理函数处理从虚拟CPU中断接口获得的中断信息。虚拟机处理完中断信息后,清除虚拟CPU中断接口中存储的该中断信息,中断信息的处理流程结束。
本实施例中,预先将模式配置为不陷入虚拟机监控器的模式,这样,中断控制器可以通过自身的虚拟CPU中断接口,直接将中断信息注入虚拟机,实现在不陷入虚拟机监控器的场景下,虚拟机仍然能够获得中断信息,同时简化中断信息的处理流程,提高中断信息的处理效率。
本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
请参考图5,其为本发明实施例所提供的虚拟机监控器的功能方块图。如图所示,应用于包括中断控制器、所述虚拟机监控器、特定寄存器和至少一个虚拟机的系统,其中,所述中断控制器包括至少一个虚拟CPU中断接口,所述特定寄存器中存储虚拟机监控器中断向量表,所述虚拟机监控器中断向量表包括用于虚拟机监控器调用的中断处理函数,所述中断处理函数中包含中断号;所述虚拟机监控器包括:
接收器50,用于接收Q个第一中断信息,Q为大于或者等于1的整数;
虚拟中断控制器51,用于依据每个所述第一中断信息的中断号,从所述特定寄存器中获得对应的中断处理函数;
所述虚拟中断控制器51,还用于调用获得的所述中断处理函数,以获得M个第二中断信息,所述M个第二中断信息为所述Q个第一中断信息中需要发送给虚拟机对应的处理器的中断信息;M为小于或者等于Q的正整数;
所述虚拟中断控制器51,还用于获得所述M个第二中断信息对应的虚拟机的标识;
所述虚拟中断控制器51,还用于向所述虚拟CPU中断接口写入所述M个第二中断信息以及所述M个第二中断信息对应的虚拟机的标识,以便于所述虚拟CPU中断接口在确定所述M个第二中断信息对应的虚拟机运行后,向所述M个第二中断信息对应的虚拟机对应的处理器发送所述M个第二中断信息。
优选的,所述虚拟中断控制器51具体用于:
对所述M个第二中断信息进行缓存;
检测所述虚拟CPU中断接口中当前存储的第三中断信息的数目K,K为大于或等于0的整数;
依据所述第三中断信息的数目K和预设的所述虚拟CPU中断接口的中断数目阈值P,从所述M个第二中断信息中获得优先级最高的N个第二中断信息,P为大于或等于1的整数,N小于或等于P与K的差值;
向所述虚拟CPU中断接口写入所述N个第二中断信息和所述N个第二中断信息对应的虚拟机的标识,N小于或等于P与K的差值。
优选的,每个所述虚拟CPU中断接口包括第一寄存器和第二寄存器;所述向所述虚拟CPU中断接口写入所述N个第二中断信息和所述N个第二中断信息对应的虚拟机的标识,具体包括:
向所述第一寄存器写入所述N个第二中断信息,以使得所述第一寄存器按照优先级由高到低的顺序对所述N个第二中断信息进行排序,以获得排序结果,以及依据所述排序结果,将所述N个第二中断信息中优先级最高的R个第二中断信息写入所述第二寄存器,所述R个第二中断信息用于所述虚拟CPU中断接口在确定所述虚拟机的标识对应的虚拟机运行后,向所述虚拟机对应的处理器发送所述R个第二中断信息,R为小于或等于N的正整数。
优选的,所述虚拟中断控制器51,具体用于:
调用获得的所述中断处理函数,以使得被调用的所述中断处理函数开始运行,以及检测每个所述第一中断信息对应的操作位置和每个所述虚拟机的位置信息,以获得所述操作位置位于所述虚拟机的位置信息内的M个所述第一中断信息;
将获得的M个所述第一中断信息作为所述M个第二中断信息。
请参考图6,其为本发明实施例所提供的虚拟机监控器的结构示意图。如图所示,该虚拟机监控器包括:
接收器60,用于接收Q个第一中断信息,Q为大于或者等于1的整数;
存储器61,用于存储一组或多组程序代码;
处理器62,与存储器61、接收器60分别耦合,用于调用存储器61中存储的程序代码,以执行以下图1所示的方法,具体包括:依据每个所述第一中断信息的中断号,从所述特定寄存器中获得对应的中断处理函数;调用获得的所述中断处理函数,以获得M个第二中断信息,所述M个第二中断信息为所述Q个第一中断信息中需要发送给虚拟机对应的处理器的中断信息;M为小于或者等于Q的正整数;获得所述M个第二中断信息对应的虚拟机的标识;向所述虚拟CPU中断接口写入所述M个第二中断信息以及所述M个第二中断信息对应的虚拟机的标识,以便于所述虚拟CPU中断接口在确定所述M个第二中断信息对应的虚拟机运行后,向所述M个第二中断信息对应的虚拟机对应的处理器发送所述M个第二中断信息。
请参考图7,其为本发明实施例所提供的中断控制器的功能方块图。如图所示,应用于包括所述中断控制器和一个虚拟机的系统,所述中断控制器包括一个虚拟CPU中断接口71和中断响应单元72;其中,
所述中断响应单元72,用于接收物理设备发送的Q个第一中断信息,Q为大于或者等于1的整数;
所述中断响应单元72,还用于向所述虚拟CPU中断接口71写入所述Q个中断信息,以使得所述虚拟CPU中断接口71在确定所述虚拟机运行后,向所述虚拟机对应的处理器发送所述Q个中断信息。
优选的,所述虚拟CPU中断接口包括第一寄存器和第二寄存器;所述中断响应单元72具体用于:
向所述第一寄存器写入所述Q个中断信息,以使得所述第一寄存器按照优先级由高到低的顺序对所述Q个中断信息进行排序,以获得排序结果,以及依据所述排序结果,将所述Q个中断信息中优先级最高的R个中断信息写入所述第二寄存器,所述R个中断信息用于所述虚拟CPU中断接口在确定所述虚拟机运行后,向所述虚拟机对应的处理器发送所述R个中断信息,R为小于或等于N的正整数。
请参考图8,其为本发明实施例所提供的中断控制器的结构示意图。如图所示,该中断控制器包括:
存储器80,用于存储一组或多组程序代码;
处理器81,与存储器80耦合,用于调用存储器80中存储的程序代码,以执行以下图3所示的方法,具体包括:接收物理设备发送的Q个第一中断信息,Q为大于或者等于1的整数;向虚拟CPU中断接口写入所述Q个中断信息,以使得所述虚拟CPU中断接口在确定所述虚拟机运行后,向所述虚拟机对应的处理器发送所述Q个中断信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (8)

1.一种中断信息的处理方法,其特征在于,所述方法应用于包括中断控制器、虚拟机监控器、特定寄存器和至少一个虚拟机的系统,其中,所述中断控制器包括至少一个虚拟CPU中断接口,所述特定寄存器中存储虚拟机监控器中断向量表,所述虚拟机监控器中断向量表包括用于虚拟机监控器调用的中断处理函数,所述中断处理函数中包含中断号;所述方法包括:
所述虚拟机监控器接收Q个第一中断信息,Q为大于或者等于1的整数;
所述虚拟机监控器依据每个所述第一中断信息的中断号,从所述特定寄存器中获得对应的中断处理函数;
所述虚拟机监控器调用获得的所述中断处理函数,以获得M个第二中断信息,所述M个第二中断信息为所述Q个第一中断信息中需要发送给虚拟机对应的处理器的中断信息;M为小于或者等于Q的正整数;
所述虚拟机监控器获得所述M个第二中断信息对应的虚拟机的标识;
所述虚拟机监控器向所述虚拟CPU中断接口写入所述M个第二中断信息以及所述M个第二中断信息对应的虚拟机的标识,以便于所述虚拟CPU中断接口在确定所述M个第二中断信息对应的虚拟机运行后,向所述M个第二中断信息对应的虚拟机对应的处理器发送所述M个第二中断信息。
2.根据权利要求1所述的方法,其特征在于,所述虚拟机监控器向所述虚拟CPU中断接口写入所述M个第二中断信息以及所述M个第二中断信息对应的虚拟机的标识,包括:
所述虚拟机监控器对所述M个第二中断信息进行缓存;
所述虚拟机监控器检测所述虚拟CPU中断接口中当前存储的第三中断信息的数目K,K为大于或等于0的整数;
所述虚拟机监控器依据所述第三中断信息的数目K和预设的所述虚拟CPU中断接口的中断数目阈值P,从所述M个第二中断信息中获得优先级最高的N个第二中断信息,P为大于或等于1的整数,N小于或等于P与K的差值;
所述虚拟机监控器向所述虚拟CPU中断接口写入所述N个第二中断信息和所述N个第二中断信息对应的虚拟机的标识,N小于或等于P与K的差值。
3.根据权利要求2所述的方法,其特征在于,每个所述虚拟CPU中断接口包括第一寄存器和第二寄存器;所述虚拟机监控器向所述虚拟CPU中断接口写入所述N个第二中断信息和所述N个第二中断信息对应的虚拟机的标识,包括:
所述虚拟机监控器向所述第一寄存器写入所述N个第二中断信息,以使得所述第一寄存器按照优先级由高到低的顺序对所述N个第二中断信息进行排序,以获得排序结果,以及依据所述排序结果,将所述N个第二中断信息中优先级最高的R个第二中断信息写入所述第二寄存器,所述R个第二中断信息用于所述虚拟CPU中断接口在确定所述虚拟机的标识对应的虚拟机运行后,向所述虚拟机对应的处理器发送所述R个第二中断信息,R为小于或等于N的正整数。
4.根据权利要求1所述的方法,其特征在于,所述虚拟机监控器调用获得的所述中断处理函数,以获得M个第二中断信息,包括:
所述虚拟机监控器调用获得的所述中断处理函数,以使得被调用的所述中断处理函数开始运行,以及检测每个所述第一中断信息对应的操作位置和每个所述虚拟机的位置信息,以获得所述操作位置位于所述虚拟机的位置信息内的M个所述第一中断信息;
所述虚拟机监控器将获得的M个所述第一中断信息作为所述M个第二中断信息。
5.一种虚拟机监控器,其特征在于,应用于包括中断控制器、所述虚拟机监控器、特定寄存器和至少一个虚拟机的系统,其中,所述中断控制器包括至少一个虚拟CPU中断接口,所述特定寄存器中存储虚拟机监控器中断向量表,所述虚拟机监控器中断向量表包括用于虚拟机监控器调用的中断处理函数,所述中断处理函数中包含中断号;所述虚拟机监控器包括:
接收器,用于接收Q个第一中断信息,Q为大于或者等于1的整数;
虚拟中断控制器,用于依据每个所述第一中断信息的中断号,从所述特定寄存器中获得对应的中断处理函数;
所述虚拟中断控制器,还用于调用获得的所述中断处理函数,以获得M个第二中断信息,所述M个第二中断信息为所述Q个第一中断信息中需要发送给虚拟机对应的处理器的中断信息;M为小于或者等于Q的正整数;
所述虚拟中断控制器,还用于获得所述M个第二中断信息对应的虚拟机的标识;
所述虚拟中断控制器,还用于向所述虚拟CPU中断接口写入所述M个第二中断信息以及所述M个第二中断信息对应的虚拟机的标识,以便于所述虚拟CPU中断接口在确定所述M个第二中断信息对应的虚拟机运行后,向所述M个第二中断信息对应的虚拟机对应的处理器发送所述M个第二中断信息。
6.根据权利要求5所述的虚拟机监控器,其特征在于,所述虚拟中断控制器具体用于:
对所述M个第二中断信息进行缓存;
检测所述虚拟CPU中断接口中当前存储的第三中断信息的数目K,K为大于或等于0的整数;
依据所述第三中断信息的数目K和预设的所述虚拟CPU中断接口的中断数目阈值P,从所述M个第二中断信息中获得优先级最高的N个第二中断信息,P为大于或等于1的整数,N小于或等于P与K的差值;
向所述虚拟CPU中断接口写入所述N个第二中断信息和所述N个第二中断信息对应的虚拟机的标识,N小于或等于P与K的差值。
7.根据权利要求6所述的虚拟机监控器,其特征在于,每个所述虚拟CPU中断接口包括第一寄存器和第二寄存器;所述向所述虚拟CPU中断接口写入所述N个第二中断信息和所述N个第二中断信息对应的虚拟机的标识,具体包括:
向所述第一寄存器写入所述N个第二中断信息,以使得所述第一寄存器按照优先级由高到低的顺序对所述N个第二中断信息进行排序,以获得排序结果,以及依据所述排序结果,将所述N个第二中断信息中优先级最高的R个第二中断信息写入所述第二寄存器,所述R个第二中断信息用于所述虚拟CPU中断接口在确定所述虚拟机的标识对应的虚拟机运行后,向所述虚拟机对应的处理器发送所述R个第二中断信息,R为小于或等于N的正整数。
8.根据权利要求5所述的虚拟机监控器,其特征在于,所述虚拟中断控制器,具体用于:
调用获得的所述中断处理函数,以使得被调用的所述中断处理函数开始运行,以及检测每个所述第一中断信息对应的操作位置和每个所述虚拟机的位置信息,以获得所述操作位置位于所述虚拟机的位置信息内的M个所述第一中断信息;将获得的M个所述第一中断信息作为所述M个第二中断信息。
CN201410245858.4A 2014-06-04 2014-06-04 中断信息的处理方法、虚拟机监控器及中断控制器 Active CN105335222B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201410245858.4A CN105335222B (zh) 2014-06-04 2014-06-04 中断信息的处理方法、虚拟机监控器及中断控制器
PCT/CN2015/075379 WO2015184913A1 (zh) 2014-06-04 2015-03-30 中断信息的处理方法、虚拟机监控器及中断控制器
EP15804037.8A EP3139269A4 (en) 2014-06-04 2015-03-30 Interrupt messages processing method, virtual machine monitor and interrupt controller
US15/367,417 US10268504B2 (en) 2014-06-04 2016-12-02 Interrupt information processing method, virtual machine monitor, and interrupt controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410245858.4A CN105335222B (zh) 2014-06-04 2014-06-04 中断信息的处理方法、虚拟机监控器及中断控制器

Publications (2)

Publication Number Publication Date
CN105335222A CN105335222A (zh) 2016-02-17
CN105335222B true CN105335222B (zh) 2019-03-19

Family

ID=54766134

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410245858.4A Active CN105335222B (zh) 2014-06-04 2014-06-04 中断信息的处理方法、虚拟机监控器及中断控制器

Country Status (4)

Country Link
US (1) US10268504B2 (zh)
EP (1) EP3139269A4 (zh)
CN (1) CN105335222B (zh)
WO (1) WO2015184913A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106095578B (zh) * 2016-06-14 2019-04-09 上海交通大学 基于硬件辅助技术和虚拟cpu运行状态的直接中断递交方法
KR101936565B1 (ko) * 2016-11-14 2019-01-09 엘에스산전 주식회사 인버터에서 인터럽트 제어방법
CN108241522B (zh) * 2016-12-27 2022-05-17 阿里巴巴集团控股有限公司 虚拟化环境中的睡眠状态切换方法、装置及电子设备
CN110609730B (zh) * 2018-06-14 2023-04-07 阿里巴巴集团控股有限公司 一种实现虚拟处理器间中断透传的方法及设备
CN109343950B (zh) * 2018-10-16 2021-06-08 南京国电南自维美德自动化有限公司 一种适用于Xilinx软核处理器的中断通用处理方法
US11204796B2 (en) * 2019-04-11 2021-12-21 International Business Machines Corporation Dynamic assignment of interrupts based on input/output metrics
US11194611B2 (en) 2019-07-29 2021-12-07 International Business Machines Corporation Dynamic assignment of interrupts based on input/output metrics
CN112084128B (zh) * 2020-09-09 2023-01-17 中国航空工业集团公司雷华电子技术研究所 消息中断通信方法、计算机设备和存储介质
CN112783601A (zh) * 2020-12-30 2021-05-11 科东(广州)软件科技有限公司 一种异构系统的中断处理方法、装置、设备及存储介质
CN112965801A (zh) * 2021-03-18 2021-06-15 北京字节跳动网络技术有限公司 一种虚拟处理器通信方法及装置
CN113138949A (zh) * 2021-04-29 2021-07-20 上海阵量智能科技有限公司 中断控制器、中断控制方法、芯片、计算机设备以及介质
CN116382856B (zh) * 2023-06-02 2023-09-26 麒麟软件有限公司 基于虚拟化嵌套增强系统实时性的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004726A (zh) * 2005-12-30 2007-07-25 英特尔公司 直接传送中断到虚拟处理器
CN101135997A (zh) * 2006-08-29 2008-03-05 联想(北京)有限公司 一种虚拟机系统及其硬件设备中断处理方法
CN101201752A (zh) * 2006-12-11 2008-06-18 联想(北京)有限公司 中断处理方法和装置
CN101557420A (zh) * 2009-03-31 2009-10-14 北京航空航天大学 虚拟机监控器高效网络通信的实现方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7975267B2 (en) 2007-03-30 2011-07-05 Bennett Steven M Virtual interrupt processing in a layered virtualization architecture
US10346330B2 (en) * 2014-01-29 2019-07-09 Red Hat Israel, Ltd. Updating virtual machine memory by interrupt handler

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004726A (zh) * 2005-12-30 2007-07-25 英特尔公司 直接传送中断到虚拟处理器
CN101135997A (zh) * 2006-08-29 2008-03-05 联想(北京)有限公司 一种虚拟机系统及其硬件设备中断处理方法
CN101201752A (zh) * 2006-12-11 2008-06-18 联想(北京)有限公司 中断处理方法和装置
CN101557420A (zh) * 2009-03-31 2009-10-14 北京航空航天大学 虚拟机监控器高效网络通信的实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
eli:bare—metal performance for i/0 virtualization;abel gordon et al.;《proceedings of the seventeenth international conference on architecture support for programming languages and operating system》;20120307;411-415
vic:interrupt coalescing for virtual machine storage device io;irfan ahmad et al.;《usenix annual technical conference》;20110617;45-49

Also Published As

Publication number Publication date
EP3139269A1 (en) 2017-03-08
US10268504B2 (en) 2019-04-23
WO2015184913A1 (zh) 2015-12-10
US20170083363A1 (en) 2017-03-23
EP3139269A4 (en) 2017-11-08
CN105335222A (zh) 2016-02-17

Similar Documents

Publication Publication Date Title
CN105335222B (zh) 中断信息的处理方法、虚拟机监控器及中断控制器
US10387649B2 (en) Detecting malware when executing in a system
CN104392175B (zh) 一种云计算系统中云应用攻击行为处理方法、装置及系统
CN103853610B (zh) 资源优化方法及装置
CN107450971B (zh) 任务处理方法及装置
CN103853620B (zh) 一种众核处理器进程间相互通信的方法、装置及系统
CN106681811A (zh) 基于线程池的多线程调度方法及装置
US8863157B2 (en) Method, device, and mobile terminal for API interception
CN111078436B (zh) 数据处理的方法、装置、设备及存储介质
CN107491346A (zh) 一种应用的任务处理方法、装置及系统
EP3862879B1 (en) Container network interface monitoring
CN104461731B (zh) 一种动态资源扩展中虚拟机资源回收方法和装置
CN109783311A (zh) 断点行为的监控处理方法、装置、设备及可读存储介质
US20190385033A1 (en) Dynamic graphic code implementation method and apparatus
CN106155602A (zh) 一种页面模块的渲染方法、装置以及显示设备
CN104679645A (zh) 一种栈空间余量实时检测方法
CN107590015A (zh) 监测主线程的阻塞的方法和装置
CN111885145A (zh) 切换方法、装置、设备及计算机存储介质
CN103093529B (zh) 动态刷新数据的方法
KR20220148720A (ko) 게임 상태들을 처리하기 위한 방법들, 장치들, 디바이스들 및 저장 매체들
CN108614763A (zh) 一种应用的调试方法及装置
CN109766198A (zh) 流式处理方法、装置、设备及计算机可读存储介质
CN106126026B (zh) 应用程序的管理方法、管理装置及终端
CN110430318B (zh) 移动终端wifi调用控制方法、移动终端及存储介质
CN111901318A (zh) 一种命令注入攻击检测的方法、系统及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant