具有中断表的定向中断虚拟化制造技术

技术编号:30072413 阅读:20 留言:0更新日期:2021-09-18 08:26
本发明专利技术涉及一种用于向客户操作系统提供中断信号的方法,该中断信号使用多个处理器中的一个或多个处理器来执行。一个或多个总线连接模块经由总线附接设备与多个处理器可操作地连接。总线附接设备从总线连接模块之一接收具有中断目标ID的中断信号,该中断目标ID将被分配以由客户操作系统使用的处理器中的一个标识为用于处理中断信号的目标处理器。总线附接设备使用被存储在与总线附接设备可操作地连接的存储器中的中断表条目来将所接收的中断目标ID转换成目标处理器的逻辑处理器ID,并将中断信号转发到目标处理器以用于处理。目标处理器的逻辑处理器ID被用于直接寻址目标处理器。理器。理器。

【技术实现步骤摘要】
【国外来华专利技术】具有中断表的定向中断虚拟化

技术介绍

[0001]本公开一般涉及计算机系统内的中断处理,尤其涉及在多处理器计算机系统中处理由总线连接模块产生的中断。
[0002]中断用于向处理器发信号通知事件需要处理器的注意。例如,硬件设备(例如,经由总线与处理器连接的硬件设备)使用中断来传达它们需要来自操作系统的注意。在接收处理器当前正在执行某些活动的情况下,该接收处理器可以响应于接收到中断信号而挂起它当前的活动、保存它的状态、以及例如通过执行中断处理程序来处理中断。由于接收而导致的处理器的当前活动的中断仅仅是暂时的。在处理了中断之后,处理器可以恢复它挂起的活动。因此,中断可以通过消除处理器在轮询循环中等待外部事件的无效等待时间来允许性能改进。
[0003]在多处理器计算机系统中,可能出现中断路由效率问题。挑战是以高效的方式将由硬件设备(例如总线连接模块)发送的中断信号转发到被分配以由操作系统使用的多个处理器中的处理器。在中断被用于与虚拟机上的客户操作系统通信的情况下,这可能是特别具有挑战性的。管理程序或虚拟机监视器(VMM)创建并运行一个或多个虚拟机,即客户机。虚拟机向在其上执行的客户操作系统提供虚拟操作平台,同时隐藏底层平台的物理特性。使用多个虚拟机允许并行运行多个操作系统。由于在虚拟操作平台上执行,因此,处理器的客户操作系统的视图一般可以不同于处理器的底层例如物理视图。客户操作系统使用虚拟处理器ID来标识处理器,该ID通常与底层逻辑处理器ID不一致。管理客户操作系统的执行的管理程序定义底层逻辑处理器ID与由客户操作系统使用的虚拟处理器ID之间的映射。然而,该映射和对被调度以由客户操作系统使用的处理器的选择不是静态的,而是可以在客户操作系统运行的同时由管理程序改变,而无需客户操作系统的知识。
[0004]通常,通过使用广播转发中断信号来解决该挑战。当使用广播时,在多个处理器之间连续转发中断信号,直到遇到适于处理中断信号的处理器。然而,在多处理器的情况下,首先接收到被广播的中断信号的处理器实际上适合于处理中断信号的概率可能相当低。此外,适合于处理中断信号不一定意味着相应的处理器是处理中断的最佳选择。

技术实现思路

[0005]各种实施例提供了用于向客户操作系统提供中断信号的方法、计算机系统和计算机程序产品,其中中断信号使用被分配以由客户操作系统使用的计算机系统的多个处理器中的一个或多个处理器来执行,如独立权利要求的主题所描述的。在从属权利要求中描述了有利的实施例。如果本专利技术的实施例不是相互排斥的,则它们可以彼此自由地组合。
[0006]在一个方面,本专利技术涉及一种用于向客户操作系统提供中断信号的方法,该中断信号使用被分配以由客户操作系统使用的计算机系统的多个处理器中的一个或多个处理器来执行,计算机系统还包括经由总线和总线附接设备与多个处理器可操作地连接的一个或多个总线连接模块,计算机系统还包括与总线附接设备可操作地连接的存储器,多个处理器中的每个处理器被分配有由总线附接设备使用以寻址相应的处理器的逻辑处理器ID,
被分配以由客户操作系统使用的多个处理器中的每个处理器还被分配有由客户操作系统和一个或多个总线连接模块使用以寻址相应的处理器的中断目标ID,该方法包括:由总线附接设备从总线连接模块之一接收具有中断目标ID的中断信号,中断目标ID将被分配以由客户操作系统使用的处理器中的一个标识为用于处理中断信号的目标处理器;由总线附接设备从被存储在存储器中的中断表取回被分配给所接收的中断目标ID的中断表条目的第一副本,中断表条目的第一副本包括所接收的中断目标ID到逻辑处理器ID的第一映射;由总线附接设备使用中断表条目的第一副本来将所接收的中断目标ID转换成逻辑处理器ID;由总线附接设备使用从转换得到的逻辑处理器ID以直接寻址目标处理器来将中断信号转发到目标处理器以用于处理。
[0007]在另一方面,本专利技术涉及一种用于向客户操作系统提供中断信号的计算机系统,该中断信号使用被分配以由客户操作系统使用的计算机系统的多个处理器中的一个或多个处理器来执行,计算机系统还包括经由总线和总线附接设备与多个处理器可操作地连接的一个或多个总线连接模块,计算机系统还包括与总线附接设备可操作地连接的存储器,多个处理器中的每个处理器被分配有由总线附接设备使用以寻址相应的处理器的逻辑处理器ID,被分配以由客户操作系统使用的多个处理器中的每个处理器还被分配有由客户操作系统和一个或多个总线连接模块使用以寻址相应的处理器的中断目标ID,计算机系统被配置成执行一种方法,该方法包括:由总线附接设备从总线连接模块之一接收具有中断目标ID的中断信号,中断目标ID将被分配以由客户操作系统使用的处理器中的一个标识为用于处理中断信号的目标处理器;由总线附接设备从被存储在存储器中的中断表取回被分配给所接收的中断目标ID的中断表条目的第一副本,中断表条目的第一副本包括所接收的中断目标ID到逻辑处理器ID的当前映射;由总线附接设备使用中断表条目的第一副本来将所接收的中断目标ID转换成逻辑处理器ID;由总线附接设备使用从转换得到的逻辑处理器ID以直接寻址目标处理器来将中断信号转发到目标处理器以用于处理。
[0008]在另一个方面,本专利技术涉及一种用于向客户操作系统提供中断信号的计算机程序产品,该中断信号使用被分配以由客户操作系统使用的计算机系统的多个处理器中的一个或多个处理器来执行,计算机系统还包括经由总线和总线附接设备与多个处理器可操作地连接的一个或多个总线连接模块,计算机系统还包括与总线附接设备可操作地连接的存储器,多个处理器中的每个处理器被分配有由总线附接设备使用以寻址相应的处理器的逻辑处理器ID,被分配以由客户操作系统使用的多个处理器中的每个处理器还被分配有由客户操作系统和一个或多个总线连接模块使用以寻址相应的处理器的中断目标ID,计算机程序产品包括计算机可读非暂时性介质,计算机可读非暂时性介质可由处理电路读取,并存储用于由处理电路执行以执行一种方法的指令,该方法包括:由总线附接设备从总线连接模块之一接收具有中断目标ID的中断信号,中断目标ID将被分配以由客户操作系统使用的处理器中的一个标识为用于处理中断信号的目标处理器;由总线附接设备从被存储在存储器中的中断表取回被分配给所接收的中断目标ID的中断表条目的第一副本,中断表条目的第一副本包括所接收的中断目标ID到逻辑处理器ID的当前映射;由总线附接设备使用中断表条目的第一副本来将所接收的中断目标ID转换成逻辑处理器ID;由总线附接设备使用从转换得到的逻辑处理器ID以直接寻址目标处理器来将中断信号转发到目标处理器以用于处理。
附图说明
[0009]下面仅通过示例,参考附图更详细地解释本专利技术的实施例,其中:
[0010]图1描绘了示例性计算机系统的示意图,
[0011]图2描绘了示例性虚拟化方案的示意图,
[0012]图3描绘了示例性虚拟化方案的示意图,
[0013]图4描绘了示例性虚拟化方案的示意图,
[0014]图5描绘了示例性计算机系统的示意图,
[0015]图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于向客户操作系统提供中断信号的方法,所述中断信号使用被分配以由所述客户操作系统使用的计算机系统的多个处理器中的一个或多个处理器来执行,所述计算机系统还包括经由总线和总线附接设备与所述多个处理器可操作地连接的一个或多个总线连接模块,所述计算机系统还包括与所述总线附接设备可操作地连接的存储器,所述多个处理器中的每个处理器被分配有逻辑处理器ID,所述逻辑处理器ID由所述总线附接设备使用以寻址相应的处理器,被分配以由所述客户操作系统使用的所述多个处理器中的每个处理器还被分配有中断目标ID以由所述客户操作系统和所述一个或多个总线连接模块使用以寻址相应的处理器,所述方法包括:由所述总线附接设备从所述总线连接模块之一接收具有中断目标ID的中断信号,所述中断目标ID将被分配以由所述客户操作系统使用的所述处理器中的一个标识为用于处理所述中断信号的目标处理器,由所述总线附接设备从被存储在所述存储器中的中断表取回被分配给所接收的中断目标ID的中断表条目的第一副本,所述中断表条目的所述第一副本包括所接收的中断目标ID到逻辑处理器ID的第一映射,由所述总线附接设备使用所述中断表条目的所述第一副本来将所接收的中断目标ID转换成所述逻辑处理器ID,由所述总线附接设备使用从所述转换得到的所述逻辑处理器ID以直接寻址所述目标处理器来将所述中断信号转发到所述目标处理器以用于处理。2.根据权利要求1所述的方法,其中,所述中断信号采用消息信号中断的形式来接收,包括所述目标处理器的所述中断目标ID。3.根据权利要求1所述的方法,其中,所述中断表条目的所述第一副本还包括运行指示符的第一副本,所述运行指示符指示由所述中断目标ID标识的所述目标处理器是否被调度以由所述客户操作系统使用,所述方法还包括:由所述总线附接设备使用所述运行指示符的所述第一副本来检查所述目标处理器是否被调度以由所述客户操作系统使用,如果目标处理器被调度,则继续转发所述中断信号,否则,由所述总线附接设备使用广播来将用于处理的所述中断信号转发到所述多个处理器。4.根据权利要求1所述的方法,其中,所述中断表条目的所述第一副本还包括中断阻止指示符,所述中断阻止指示符指示由所述中断目标ID标识的所述目标处理器当前是否被阻止接收中断信号,所述方法还包括:由所述总线附接设备使用中断阻止指示符来检查所述目标处理器是否被阻止接收中断信号,如果目标处理器未被阻止,则继续转发所述中断信号,否则,由所述总线附接设备阻止所述中断信号被转发到所述目标处理器以用于处理。5.根据权利要求4所述的方法,所述方法还包括:由所述总线附接设备使用广播来将用于处理的所述中断信号转发到所述多个处理器中的剩余处理器。
6.根据权利要求4所述的方法,所述方法还包括:由所述客户操作系统的中断处理程序检查被寻址到所述目标处理器的任何中断是否在等待由所述目标处理器处理,如果没有被寻址到所述目标处理器的中断在等待由所述目标处理器处理,则由所述客户操作系统改变被分配给所述目标处理器的所述中断表条目中的所述中断阻止指示符以指示所述目标处理器未被阻止。7.根据权利要求6所述的方法,所述方法还包括:如果所述目标处理器未被阻止,则由所述总线附接设备改变被分配给所述中断目标ID的所述中断表条目中的所述中断阻止指示符以指示所述第一逻辑处理器ID被阻止,所述改变在将所述中断信号转发到所述目标处理器以用于处理之前被执行。8.根据权利要求7所述的方法,所述方法还包括:在改变所述中断阻止指示符之后,由所述总线附接设备取回被分配给所接收的中断目标ID的所述中断表条目的第二副本,由所述总线附接设备检查所述中断表条目的所述第二副本,以排除所述中断表的所述第二副本相对于所述中断表条目的所述第一副本的预定义类型改变,成功排除所述预定义类型改变是将所述中断信号转发到所述目标处理器以用于处理所需要的。9.根据权利要求8所述的方法,其中,所述预定义类型改变是所接收的中断目标ID的所述第一映射相对于所接收的中断目标ID到由所述中断表条目的所述第二副本所包括的所述逻辑处理器ID中的第二逻辑处理器ID的第二映射的改变,如果所述第二映射包括相对于所述第一映射的改变,则由所述总线附接设备使用广播来将用于处理的所述中断信号转发到所述多个处理器。10.根据权利要求8所述的方法,其中,所述预定义类型改变是所述运行指示符的所述第一副本相对于由所述中断表条目的所述第二副本所包括的运行指示符的第二副本的改变,如果所述运行指示符的所述第二副本包括相对于所述运行位的所述第一副本的改变,所述第二运行指示符指示所述目标处理器未被调度以由所述操作系统使用,则由所述总线附接设备使用广播来将用于处理的所述中断信号转发到所述多个处理器。11.根据权利要求1所述的方法,所述方法还包括:由所述总线附接设备从被存储在所述存储器中的设备表取回设备表条目的副本,所述设备表条目包括指示所述中断表的存储器地址的中断表地址指示符,所述总线附接设备使用所述中断表的所述存储器地址来取回所述中断表条目的所述第一副本。12.根据权利要求11所述的方法,其中,所述设备表条目还包括指示所述目标处理器是否要被直接寻址的直接信令指示符,所述方法还包括:如果所述直接信令指示符指示所述中断信号的直接转发,则使用所述目标处理器的逻辑处理器ID以直接寻址所述目标处理器来执行所述中断信号的转发,否则,由所述总线附接设备使用广播来将用于处理的所述中断信号转发到所述多个处理器。13.根据权利要求11所述的方法,其中,所述存储器还包括中断概括向量,所述设备表条目还包括指示所述中断概括向量的存储器地址的中断概括向量地址指示符,所述中断概括向量包括每总线连接模块的中断概括指示符,每个中断概括指示符被分配给总线连接模块以指示是否存在由相应的总线连接模块发出的中断信号要被处理,
所述方法还包括:由所述总线附接设备使用所述中断概括向量的所指示的存储器地址...

【专利技术属性】
技术研发人员:M
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1