【技术实现步骤摘要】
【国外来华专利技术】具有中断表的定向中断虚拟化
技术介绍
[0001]本公开一般涉及计算机系统内的中断处理,尤其涉及在多处理器计算机系统中处理由总线连接模块产生的中断。
[0002]中断用于向处理器发信号通知事件需要处理器的注意。例如,硬件设备(例如,经由总线与处理器连接的硬件设备)使用中断来传达它们需要来自操作系统的注意。在接收处理器当前正在执行某些活动的情况下,该接收处理器可以响应于接收到中断信号而挂起它当前的活动、保存它的状态、以及例如通过执行中断处理程序来处理中断。由于接收而导致的处理器的当前活动的中断仅仅是暂时的。在处理了中断之后,处理器可以恢复它挂起的活动。因此,中断可以通过消除处理器在轮询循环中等待外部事件的无效等待时间来允许性能改进。
[0003]在多处理器计算机系统中,可能出现中断路由效率问题。挑战是以高效的方式将由硬件设备(例如总线连接模块)发送的中断信号转发到被分配以由操作系统使用的多个处理器中的处理器。在中断被用于与虚拟机上的客户操作系统通信的情况下,这可能是特别具有挑战性的。管理程序或虚拟机监视器(VMM)创建并运行一个或多个虚拟机,即客户机。虚拟机向在其上执行的客户操作系统提供虚拟操作平台,同时隐藏底层平台的物理特性。使用多个虚拟机允许并行运行多个操作系统。由于在虚拟操作平台上执行,因此,处理器的客户操作系统的视图一般可以不同于处理器的底层例如物理视图。客户操作系统使用虚拟处理器ID来标识处理器,该ID通常与底层逻辑处理器ID不一致。管理客户操作系统的执行的管理程序定义底层逻辑处理器ID与由客户操作系统使用的虚拟处理器 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】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所述的方法,其中,所述存储器还包括中断概括向量,所述设备表条目还包括指示所述中断概括向量的存储器地址的中断概括向量地址指示符,所述中断概括向量包括每总线连接模块的中断概括指示符,每个中断概括指示符被分配给总线连接模块以指示是否存在由相应的总线连接模块发出的中断信号要被处理,
所述方法还包括:由所述总线附接设备使用所述中断概括向量的所指示的存储器地址...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。