公开了用于提高虚拟化环境中的中断处理的操作效率的各种操作。一种虚拟化的中断控制器可通过即使在物理中断控制器不提供自动EOI能力时也提供这一机制来避免对显式中断结束命令的需求。对分区间通信使用消息待决位便于避免分区间通信中所使用的处理器间中断的EOI命令,只要对特定消息槽不再提示消息即可。虚拟化的中断控制器即使在其不是最高优先级的运行中中断时也便于中断的选择性EOI,而不管物理中断控制器是否提供这一功能。
【技术实现步骤摘要】
【国外来华专利技术】虚拟化环境中的经优化的中断传递背景虚拟机("VM")是出于提供仿真机或系统的目的而在计算设备等(例如, 主机)上操作的软件构造等。通常,但不必然地,虚拟机是应用程序等,并且 可在主机上用于实例化使用应用程序等,同时将这一使用应用程序与该主机设 备或该主机设备上的其它应用程序隔离开。在一种典型的情况下,主机可容纳 多个部署的VM,每个VM经由可从该主机获得的资源来执行某些预定功能。值得注意的是,尽管采用虚拟的形式,但如主存在计算设备上的每个VM 无论从哪点看都是计算机器,并因此将其本身如此向其使用应用程序和外部世 界两者表示。作为示例,VM和/或其使用应用程序能够并且实际上的确对该 VM的硬件资源发出硬件请求,即使该VM可能实际上不具有这些硬件资源。 相反,且可以理解,这些硬件请求被截取或以其他方式被重定向到主机,并且 这一主机通常在发出请求的VM和/或其使用应用程序仍旧一无所知的情况下 基于其硬件资源来为这些硬件请求服务。通常,尽管并非必须,但主机将其每一个VM部署在单独的分区、地址空 间、处理区域等中。这一主机可包括具有担当监督应用程序或"管理程序"的虚 拟机监控程序("VMM")等的虚拟化层,其中虚拟化层监督和/或以其它方式 管理该主机的每一VM的管理方面,并担当每一VM和外界之间的可能链接。 VMM可以是在其自己的地址空间中运行的单独的应用程序或者可以与主机操 作系统更紧密地集成,或者直接地或者作为某一种操作系统扩展,诸如设备驱 动程序等。值得注意的是,主机的VMM可截取或以其他方式重定向源自该主 机的每一个VM和/或其使用应用程序的硬件请求,并且可同样在发出请求的 VM和/或其使用应用程序仍旧一无所知的情况下至少帮助服务这些请求。许多计算系统包括多个处理器。多处理器虚拟机环境中的处理器能以来宾模式或VMM模式操作。当以来宾模式运行时,处理器使用虚拟机定义管理虚 拟机的来宾操作系统和应用程序,从而在没有来自VMM的介入的情况下转换 自变量并管理系统资源。有时,来宾操作系统或应用程序可能需要必须由VMM管理的系统资源。作为示例,VMM对于出错处理、系统错误或中断处理可能 是必需的。在这些情况下,处理器以VMM模式操作。现代处理系统包括对允许将外部事件通知给处理器的中断的支持。例如, 当用户按压键盘上的键或网络分组通过线缆到达时,生成相应的中断并将其发 送到处理器。通常,中断使得处理器停止其正在做的事情,记录其当前执行位 置以使其能够在为该中断服务并且然后执行指定的中断服务例程后恢复执行。计算系统可包括引导并仲裁系统中的中断流的一个或多个中断控制器。中断控制器逻辑可以用分立的硬件组件来实施,可被集成到处理器中,或可被虚 拟化。中断控制器特别地负责确定中断的优先级以及将中断定向到多处理器环 境中的适当处理器。在虚拟化环境中,处理器和中断控制器可被虚拟化。这一 般通过诸如虚拟机监控程序等软件以及由硬件提供的虚拟化辅助装置(assist) 的组合来实现。一般而言,在处理了中断后,经由中断结束(EOI)命令来通知中断控制 器。该命令告诉中断控制器现在可以传递其传递可能已经在处理前一中断时被 推迟的其他中断。EOI命令通常通过I/O端口或诸如对寄存器的读写等存储器 映射的I/0访问来被传递给中断控制器。对于物理中断控制器而言,处理EOI 命令可能消耗数十或数百个周期。对于虚拟化的中断控制器而言,处理EOI 命令可能消耗数千个周期。某些虚拟机监控程序将中断用作分区间消息传送的基础。如果在一个分区 中运行的软件需要与在同一物理机器上的第二分区中运行的软件进行通信,则 它能够通过使用分区间消息来这样做。当消息由一个处理器来发送时,虚拟机 监控程序可向作为该消息的预期接收者的处理器发送中断,从而使得该接收者 处理器的中断服务例程处理该消息并响应其内容。概述提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的 一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不 旨在用于帮助确定所要求保护的主题的范围。此处描述了用于在多处理器虚拟化环境中高效地处理中断的机制。在某些实施例中,来宾操作系统可将特定中断源编程为"自动中断结束"("自动EOI")。在处理自动EOI时,虚拟化的中断控制器将中断服务寄存器中对应于所传递的 中断的位清零而不等待显式中断结束("EOr)命令。自动EOI中断可不阻塞其他中断的传递。中断可用于实现分区间通信。当来宾操作系统接收到与分区间消息相关联 的中断时,该来宾操作系统的中断服务例程从指定的消息槽中读取该消息并基 于该消息类型和净荷来执行动作。如以下详细描述的,来宾操作系统可通过仅 在另一消息对同一消息槽排队的情况下在完成消息处理后发送显式消息结束("EOM")命令来消除在处理分区间消息时招致的某些开销。EOM命令的计 算成本大致等同于EOI的计算成本,但EOM仅在其他消息在排队的罕见情况 下发送。这可显著地降低用于分区间通信的中断处理的平均成本。中断可具有各种优先级。 一般而言,较高优先级的中断可打断较低优先级的中断的处理,但反之却不然。在虚拟化环境中,对于来宾操作系统而言发出 针对不是最高优先级的运行中的中断的中断的EOI命令是可能的。此处描述了 虚拟化的中断控制器用于检査传入EOI命令是否对应于最高优先级的运行中 的中断的机制。如果不是,则经虚拟化的中断控制器将传入EOI命令的中断向 量添加到需要在稍后被EOI的一组中断。如果传入EOI命令的确对应于最高 优先级的运行中的中断,则经虚拟化的中断控制器不仅处理针对相应中断的 EOI命令而且处理对应于先前为稍后EOI标记的所有其他中断的EOI命令。附图简述附图说明图1是表示计算机系统中用于经虚拟化操作环境的硬件和软件体系结构 的逻辑分层的框图2是表示其中虚拟化由主机操作系统(或者直接地或者经由管理程序) 来执行的经虚拟化计算系统的框图3是表示其中虚拟化由与主机操作系统并排运行的虚拟机监控程序执 行的替换的经虚拟化计算系统的框图4是表示其中虚拟化由独立于主机操作系统运行的虚拟化器执行的另 一替换的经虚拟化计算系统的框图;图5是具有中断控制器的计算系统的一部分的框图; 图6是示出处理中断请求的方法的流程图; 图7描绘了用于中断优先级的示例的时间线;图8是示出根据此处示教的使用自动EOI来处理中断请求的方法的流程 图;以及图9是示出根据此处示教的处理处理器间消息的方法的流程图。 详细描述在以下描述和附图中描述了某些具体细节,以提供对本专利技术的各个实施例 的全面理解。通常与计算和软件技术相关联的某些公知细节将不在以下公开中 描述,以避免不必要地使本专利技术的各实施例晦涩难懂。此外,相关领域的普通 技术人员可以理解,他们可以无需以下描述的细节中的一个或多个而实现其它 实施例。最后,尽管在以下公开中参考了步骤和序列来描述各个方法,但是如 此的描述是为了提供本专利技术的实施例的清楚实现,且步骤以及步骤序列不应被 认为是实现本专利技术所必需的。应该理解,此处描述的各种技术可以结合硬件或软件,或在适当时以两者 的组合来实现。因此,方法和装置或其某些方面或部分,可以采用包含在诸如 软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质等有形本文档来自技高网...
【技术保护点】
一种供虚拟化计算系统处理中断的方法,所述虚拟化计算系统包括虚拟机监控程序和至少一个来宾操作系统,所述方法包括: 在虚拟化的中断控制器处接收第一中断请求;以及 基本上在接收到所述第一中断请求后立即清除对应于所述第一中断请求的中断服 务标志。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:EP托奥特,S甘吉利,RA维加,
申请(专利权)人:微软公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。