[发明专利]线程间中断信号发送方法及装置有效
申请号: | 202111282442.6 | 申请日: | 2021-11-01 |
公开(公告)号: | CN114003363B | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 谈鉴锋;别体伟;周介龙 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京永新同创知识产权代理有限公司 11376 | 代理人: | 林锦辉;刘景峰 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 线程 中断 信号 发送 方法 装置 | ||
本说明书的实施例提供线程间中断信号发送方法及装置。在该线程间中断信号发送方法中,第一线程所在处理器通过MMIO写操作来经由PCI总线向PCI设备发送通知消息。MMIO写操作基于PCI设备的MMIO内存的内存地址所映射的第一线程的虚拟空间地址实现。响应于接收到通知消息,PCI设备生成旨在第二线程的中断信号,并且按照PCI设备的中断配置信息所配置的中断信号发送方式向第二线程所在处理器发送中断信号。PCI设备的中断配置信息预先根据第二线程的状态信息配置,第二线程的状态信息包括第二线程所处运行态以及第二线程是否处于运行中。
技术领域
本说明书实施例通常涉及计算机技术领域,尤其涉及线程间中断信号发送方法及装置。
背景技术
多核多线程处理器的中断可以由可编程中断控制器(Programmable InterruptController,PIC)统一控制。PIC允许一个硬件线程中断其他硬件线程,这种方式被称为核间中断(Inter-Processor Interrupts,IPI)。PIC具有宽度为32位的核间中断寄存器IPIBase,该寄存器存储目的线程的编号、中断向量及中断类型(是否中断多个硬件线程)等内容。核间中断可以通过向核间中断寄存器IPIBase写入需要的值来产生。若硬件线程A想要发送核间中断给硬件线程B,它只需向核间中断寄存器IPIBase中写入硬件线程B的线程ID、中断向量、中断类型等值。PIC会通知硬件线程B所在的内核挂起它当前的执行序列,并根据中断向量跳转到中断服务例程ISR的入口。
在Host Kernel下,CPU可以利用IPI来实现硬件线程之间的中断信号发送,但是在一些应用场景下,不能利用IPI来实现硬件线程之间的中断信号发送。
发明内容
鉴于上述,本说明书实施例提供一种线程间中断信号发送方法及装置。利用该线程间中断信号发送方法及装置,可以实现所有运行态的线程间的中断信号发送。
根据本说明书实施例的一个方面,提供一种用于在第一线程和第二线程之间发送中断信号的方法,所述方法由PCI设备执行,所述方法包括:经由PCI总线接收第一线程所在处理器通过MMIO写操作发送的通知消息,所述MMIO写操作基于所述PCI设备的MMIO内存的内存地址所映射的所述第一线程的虚拟空间地址实现;响应于接收到所述通知消息,生成旨在第二线程的中断信号;以及按照所述PCI设备的中断配置信息所配置的中断信号发送方式向所述第二线程所在处理器发送所述中断信号,其中,所述中断配置信息根据所述第二线程的状态信息配置,所述第二线程的状态信息包括所述第二线程所处运行态以及所述第二线程是否处于运行中。
可选地,在上述方面的一个示例中,所述中断配置信息根据所述第二线程的状态信息配置可以包括:如果所述第二线程处于Host Kernel,则将所述中断信号发送方式配置为将所述中断信号发送给所述第二线程所在处理器中的为所述第二线程配置的中断句柄;如果所述第二线程处于Guest Kernel且所述第二线程在运行中,则将中断配置为PostedInterrupt,并且将所述中断信号发送方式配置为将所述中断信号发送给所述第二线程所在处理器;如果所述第二线程处于Guest Kernel且所述第二线程未运行,则将所述中断信号发送方式配置为将所述中断信号发送给Host Kernel中的与所述第二线程所在虚拟处理器对应的物理处理器,所述物理处理器唤醒所述第二线程所在虚拟处理器;如果所述第二线程处于用户态,则将所述中断信号发送方式配置为将所述中断信号发送给所述第二线程所在处理器。
可选地,在上述方面的一个示例中,如果所述第二线程处于用户态,则将所述中断信号发送方式配置为将所述中断信号发送给所述第二线程所在处理器可以包括:如果所述第二线程处于用户态,则将所述中断信号发送方式配置为通过信号量发送方式或eventfd发送方式将所述中断信号发送给所述第二线程所在处理器。
可选地,在上述方面的一个示例中,所述通知消息包括mov指令,所述mov指令的源操作数存储所述PCI设备的MMIO内存所需值,以及所述mov指令的目的地址是所述MMIO内存所映射到的所述第一线程的虚拟空间地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111282442.6/2.html,转载请声明来源钻瓜专利网。