CN117785429A - 中断信息的处理方法、装置、设备及存储介质 - Google Patents
中断信息的处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117785429A CN117785429A CN202410068507.4A CN202410068507A CN117785429A CN 117785429 A CN117785429 A CN 117785429A CN 202410068507 A CN202410068507 A CN 202410068507A CN 117785429 A CN117785429 A CN 117785429A
- Authority
- CN
- China
- Prior art keywords
- interrupt
- information
- vcpu
- state
- preset
- 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.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 17
- 238000003672 processing method Methods 0.000 title claims description 13
- 238000000034 method Methods 0.000 claims abstract description 412
- 230000008569 process Effects 0.000 claims abstract description 371
- 238000012545 processing Methods 0.000 claims abstract description 65
- 238000002347 injection Methods 0.000 claims abstract description 31
- 239000007924 injection Substances 0.000 claims abstract description 31
- 230000004044 response Effects 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 84
- 238000004590 computer program Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 5
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 4
- 239000000243 solution Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本公开实施例提供一种中断信息的处理方法、装置、设备及存储介质,该方法包括:响应于VCPU进程从运行状态切换到等待运行状态,获取VCPU进程对应的中断属性信息,其中中断属性信息包括中断类型信息和中断状态信息;将中断属性信息内的中断类型信息调整为预设中断信息,以及,将中断属性信息内的中断状态信息调整为可接收状态;响应于接收到针对VCPU进程的中断注入指令,向VCPU进程所在的目标PCPU发送预设中断信息,通过目标PCPU执行与所述预设中断信息相关联的预设回调函数,将处于等待运行状态的VCPU进程调整为运行状态。本申请可以降低虚拟机的中断注入延时,提高中断信息的处理效率。
Description
技术领域
本公开实施例涉及虚拟机技术领域,尤其涉及一种中断信息的处理方法、装置、设备及存储介质。
背景技术
为了提高CPU(Central Processing Unit,中央处理器)的资源利用率,可以将CPU分为多个物理处理器PCPU,并在CPU内创建多个虚拟机。其中,每个虚拟机内可以设有多个VCPU(Virtual Central Processing Unit,虚拟处理器)进程,一个虚拟机可以占有一个PCPU来处理该虚拟机中的某一个VCPU进程。
相关技术中,当需要处理某个任务时,可以向该任务对应的VCPU进程注入中断,通过运行VCPU进程处理该任务。目前一般是通过IOMMU(Input/Output Memory ManagementUnit,输入/输出内存管理模块)向该VCPU进程注入中断。其中,只有当该VCPU进程处于运行状态时,才能向该VCPU进程注入中断。
然而,发明人发现现有技术至少存在如下技术问题:若VCPU进程处于等待运行状态,则需要等待其他进程的任务处理完成后,才能运行该VCPU进程,进而向该VCPU进程注入中断。由此可见,通过上述方法进行中断注入的延时较高,降低了中断信息的处理效率。
发明内容
本公开实施例提供一种中断信息的处理方法、装置、设备及存储介质,可以降低虚拟机的中断注入延时,提高中断信息的处理效率。
第一方面,本公开实施例提供一种中断信息的处理方法,应用于中央处理器CPU,其中所述CPU包括多个物理处理器PCPU,每个PCPU上运行一个虚拟机的一个虚拟处理器VCPU进程;所述方法包括:
响应于VCPU进程从运行状态切换到等待运行状态,获取所述VCPU进程对应的中断属性信息,其中所述中断属性信息包括中断类型信息和中断状态信息;其中,所述中断类型信息用于表示向所述VCPU进程所在的目标PCPU发送的中断信息的类型,所述中断状态信息用于表示是否能够向所述VCPU进程所在的目标PCPU发送中断信息;
将所述中断属性信息内的中断类型信息调整为预设中断信息,以及,将所述中断属性信息内的中断状态信息调整为可接收状态,其中所述预设中断信息用于指示所述VCPU进程所在的目标PCPU执行预设回调函数,其中所述预设回调函数用于将处于等待运行状态的所述VCPU进程调整为运行状态;
响应于接收到针对所述VCPU进程的中断注入指令,向所述VCPU进程所在的目标PCPU发送所述预设中断信息,通过所述目标PCPU执行与所述预设中断信息相关联的预设回调函数,将处于等待运行状态的所述VCPU进程调整为运行状态。
第二方面,本公开实施例提供一种中断信息的处理装置,应用于中央处理器CPU,其中所述CPU包括多个物理处理器PCPU,每个PCPU上运行一个虚拟机的一个虚拟处理器VCPU进程;所述装置包括:
获取模块,用于响应于VCPU进程从运行状态切换到等待运行状态,获取所述VCPU进程对应的中断属性信息,其中所述中断属性信息包括中断类型信息和中断状态信息;其中,所述中断类型信息用于表示向所述VCPU进程所在的目标PCPU发送的中断信息的类型,所述中断状态信息用于表示是否能够向所述VCPU进程所在的目标PCPU发送中断信息;
调整模块,用于将所述中断属性信息内的中断类型信息调整为预设中断信息,以及,将所述中断属性信息内的中断状态信息调整为可接收状态,其中所述预设中断信息用于指示所述VCPU进程所在的目标PCPU执行预设回调函数,其中所述预设回调函数用于将处于等待运行状态的所述VCPU进程调整为运行状态;
处理模块,用于响应于接收到针对所述VCPU进程的中断注入指令,向所述VCPU进程所在的目标PCPU发送所述预设中断信息,通过所述目标PCPU执行与所述预设中断信息相关联的预设回调函数,将处于等待运行状态的所述VCPU进程调整为运行状态。
第三方面,本公开实施例提供一种电子设备,包括:
处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如上第一方面所述的中断信息的处理方法。
第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面所述的中断信息的处理方法。
第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面所述的中断信息的处理方法。
本实施例提供的中断信息的处理方法、装置、设备及存储介质,该方法包括:响应于VCPU进程的运行状态从运行状态切换为等待运行状态,获取VCPU进程对应的中断属性信息,其中中断属性信息包括中断类型信息和中断状态信息;将中断属性信息内的中断类型信息调整为预设中断信息,以及,将中断属性信息内的中断状态信息调整为可接收状态;响应于接收到针对VCPU进程的中断注入指令,向VCPU进程所在的目标PCPU发送预设中断信息,通过目标PCPU执行与预设中断信息相关联的预设回调函数,将处于等待运行状态的VCPU进程调整为运行状态。在本申请实施例中,由于先将VCPU进程对应的中断类型信息调整为预设中断信息,并将VCPU进程对应的中断状态信息调整为可接收状态,这样,通过IOMMU可以向VCPU进程所在的目标PCPU发送预设中断信息,实现了将处于等待运行状态的VCPU进程调整为运行状态,因此缩短了VCPU进程的中断注入延时,提高中断信息的处理效率。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种中断信息的处理方法的应用场景示意图;
图2为本公开实施例提供的一种中断信息的处理方法的流程图;
图3为本公开实施例提供的一种中断信息的处理方法的示意图;
图4为本公开实施例提供的另一种中断信息的处理方法的示意图;
图5为本公开实施例提供的另一种中断信息的处理方法的示意图;
图6为本公开实施例提供的一种中断信息的处理装置的结构框图;
图7为本公开实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
为了提高CPU(Central Processing Unit,中央处理器)的资源利用率,可以将CPU分为多个物理处理器PCPU,并在CPU内创建多个虚拟机。其中,每个虚拟机内可以设有多个VCPU(Virtual Central Processing Unit,虚拟处理器)进程,一个虚拟机可以占有一个PCPU来处理该虚拟机中的某一个VCPU进程。
相关技术中,当需要处理某个任务时,可以向该任务对应的VCPU进程注入中断,通过运行VCPU进程处理该任务。目前一般是通过IOMMU(Input/Output Memory ManagementUnit,内存管理模块)向该VCPU进程注入中断。其中,只有当该VCPU进程处于运行状态时,才能向该VCPU进程注入中断。
然而,VCPU进程包括三个状态,分别是:运行状态(running状态)、等待运行状态(runnable状态)和睡眠状态(sleep状态)。
若VCPU进程处于运行状态,则直接可以向该VCPU进程注入中断。
若VCPU进程处于等待运行状态,VCPU线程被其他进程抢占,则需要等待其他进程的任务处理完成后,才能运行该VCPU进程,进而向该VCPU进程注入中断。
若VCPU进程处于睡眠状态,需要先唤醒该VCPU线程,然后等待其他进程的任务处理完成后,运行该VCPU进程,向该VCPU进程注入中断。
进一步的,在DPU(Data Processing Unit,数据处理器)场景下,CPU上的许多进程卸载到了DPU上进行处理,这样CPU不用预留特定的PCPU处理CPU上的进程,必要的进程可以在任一PCPU执行即可。也即是,CPU上的进程与VCPU进程可能在同一个PCPU上,这样会进一步增加VCPU进程的中断注入延时。
由此可见,当VCPU进程处于等待运行状态或睡眠状态时,VCPU进程中断注入的延时较高,因此降低了中断信息的处理效率。因此,当VCPU进程处于等待运行状态或睡眠状态时,如何降低VCPU进程的中断注入延时,以提高中断信息的处理效率是目前亟待解决的一个技术问题。
为了解决上述问题,本实施例提供了以下技术构思:在VCPU进程处于等待运行状态或睡眠状态时,通过修改VCPU进程对应的相关参数,让CPU感知到VCPU进程需要注入一个中断。这样,VCPU进程处于等待运行状态或睡眠状态时,设备产生的中断也能及时的注入到VCPU进程,从而降低了中断注入的延时。
具体步骤可以包括:首先,响应于VCPU进程的运行状态从运行状态切换为等待运行状态,获取VCPU进程对应的中断属性信息,其中中断属性信息包括中断类型信息和中断状态信息;然后,将中断属性信息内的中断类型信息调整为预设中断信息,以及,将中断属性信息内的中断状态信息调整为可接收状态;最后,响应于接收到针对VCPU进程的中断注入指令,向VCPU进程所在的目标PCPU发送预设中断信息,通过目标PCPU执行与预设中断信息相关联的预设回调函数,将处于等待运行状态的VCPU进程调整为运行状态。
在此情况下,由于先将VCPU进程对应的中断类型信息调整为预设中断信息,并将VCPU进程对应的中断状态信息调整为可接收状态,这样,通过IOMMU可以向VCPU进程所在的目标PCPU发送预设中断信息,实现了将处于等待运行状态的VCPU进程调整为运行状态,因此缩短了VCPU进程的中断注入延时,提高中断信息的处理效率。
下面对本公开实施例的应用场景进行解释:
本公开实施例提供的中断信息的处理方法,可以应用于处理各种中断信息的场景中。例如,处理直通设备中断的场景中。直通设备中断可以是网卡中断、GPU(GraphicsProcessing Unit)中断、磁盘中断等。图1为本公开实施例提供的一种中断信息的处理方法的应用场景示意图。如图1所示的计算机系统包括内存管理模块IOMMU和CPU;其中,CPU内设有物理处理器PCPU1和物理处理器PCPU2。
其中,每个PCPU上可以运行一个虚拟机的一个VCPU进程。示例性的,物理处理器PCPU2上可以运行虚拟机A上的VCPU进程1、虚拟机B上的VCPU进程2、虚拟机C上的VCPU进程3。PCPU2上正在运行虚拟机A上的VCPU进程1。虚拟机B上的VCPU进程2和虚拟机C上的VCPU进程3均处于等待运行状态。在此情况下,当直通设备产生中断时,确定该直通设备中断对应的是虚拟机C上的VCPU进程3,此时,需要向虚拟机C上的VCPU进程3注入一个直通设备中断,通过本公开实施例提供的中断信息的处理方法,暂停VCPU进程1,将VCPU进程3调整为运行状态,从而可以及时向虚拟机C上的VCPU进程3注入该直通设备中断,缩短了VCPU进程的中断注入延时,提高中断信息的处理效率。下面采用详细的实施例对本公开实施例提供的中断信息的处理方法进行详细说明。
图2为本公开实施例提供的一种中断信息的处理方法的流程图。该中断信息的处理方法的执行主体可以是终端设备,该终端设备的CPU包括多个物理处理器PCPU;每个PCPU上运行一个虚拟机的一个VCPU进程。如图2所示,该方法包括:
S201、响应于VCPU进程从运行状态切换到等待运行状态,获取VCPU进程对应的中断属性信息,其中中断属性信息包括中断类型信息和中断状态信息;其中,中断类型信息用于表示向VCPU进程所在的目标PCPU发送的中断信息的类型,中断状态信息用于表示是否能够向VCPU进程所在的目标PCPU发送中断信息。
在本步骤中,每个PCPU上运行一个虚拟机的一个VCPU进程。一个PCPU对应一个任务列表,任务列表内包括多个待运行的进程。VCPU进程处于运行状态表示PCPU正在处理该VCPU进程。VCPU进程处于等待运行状态表示该VCPU进程位于其所在的PCPU的任务列表中。
在一些实施例中,一个VCPU进程对应一个进程标识。可以通过该VCPU进程对应的进程标识,获取该VCPU进程对应的中断属性信息。相应地,获取VCPU进程对应的中断属性信息,包括:确定VCPU进程对应的进程标识,获取与进程标识对应的地址信息;根据中断类型信息对应的第一地址标识,从地址信息中获取VCPU进程对应的中断类型信息,以及,根据中断状态信息对应的第二地址标识,从地址信息中获取VCPU进程对应的中断状态信息。
可选地,该进程标识可以是该VCPU进程对应的编号。例如,进程标识可以是VCPU进程1、VCPU进程2、VCPU进程3等。可选地,每个VCPU进程的地址信息内存储有对应的中断属性信息。其中,地址信息可以用pi_desc表示。
示例性的,中断类型信息对应的第一地址标识可以是pi_desc→nv 位;中断状态信息对应的第二地址标识可以是pi_desc→sn位。
可选地,中断类型信息可以是在pi_desc→nv 位中存储的中断,用于通知IOMMU向VCPU进程所在的目标PCPU发送的中断信息的类型为该pi_desc→nv 位存储的中断类型。例如,若pi_desc→nv 位存储的中断类型为:POSTED_INTR_WAKEUP_VECTOR中断(类型),IOMMU在发送中断时,则向VCPU进程所在的目标PCPU发送的中断信息的类型为POSTED_INTR_WAKEUP_VECTOR中断。若pi_desc→nv 位存储的中断类型为:POSTED_INTR_VECTOR中断,IOMMU在发送中断时,则向VCPU进程所在的目标PCPU发送的中断信息的类型为:POSTED_INTR_VECTOR中断。
可选地,中断状态信息包括可接收状态和不可接收状态。当中断状态信息为可接收状态时,IOMMU可以向VCPU进程所在的目标PCPU发送中断信息;当中断状态信息为不可接收状态时,IOMMU不可以向VCPU进程所在的目标PCPU发送中断信息。
S202、将中断属性信息内的中断类型信息调整为预设中断信息,以及,将中断属性信息内的中断状态信息调整为可接收状态,其中预设中断信息用于指示VCPU进程所在的目标PCPU执行预设回调函数,其中预设回调函数用于将处于等待运行状态的VCPU进程调整为运行状态。
在本公开实施例中,当VCPU进程处于等待运行状态时,设备产生中断后,PCPU无法感知到该VCPU进程需要注入中断,针对这类情况,首先需要让PCPU感知到处于等待运行状态的VCPU进程需要注入一个中断。进一步地,为了及时将该VCPU进程调整为运行状态,可以向PCPU触发一次抢占,将VCPU进程及时的选中执行。
在一些实施例中,可以通过修改VCPU进程对应的参数,让PCPU感知到处于等待运行状态的VCPU进程需要注入一个中断。
可选地,参见图3,预设中断信息为POSTED_INTR_WAKEUP_VECTOR中断,这样,当VCPU进程处于等待运行状态时,通过该中断可以让PCPU感知到处于等待运行状态的VCPU进程需要注入一个中断。当VCPU进程处于运行状态时,则将预设中断信息(POSTED_INTR_WAKEUP_VECTOR中断)修改回原来的中断信息(POSTED_INTR_VECTOR中断)。
可选地,中断状态信息包括第一预设值或第二预设值;其中,第一预设值表示可接收状态,第二预设值表示不可接收状态;相应地,其中将中断属性信息内的中断状态信息调整为可接收状态,包括:将中断属性信息内的中断状态信息调整为第一预设值。
示例性的,继续参见图3,第一预设值为0,第二预设值为1。当VCPU进程处于等待运行状态时,可以将VCPU进程对应的pi_desc→sn位调整为0,这样,IOMMU可以向VCPU进程所在的目标PCPU发送中断,进而让该目标PCPU感知到处于等待运行状态的VCPU进程需要注入一个中断。
S203、响应于接收到针对VCPU进程的中断注入指令,向VCPU进程所在的目标PCPU发送预设中断信息,通过目标PCPU执行与预设中断信息相关联的预设回调函数,将处于等待运行状态的VCPU进程调整为运行状态。
在本公开实施例中,如图4所示,当虚拟机的某一直通设备发生中断时,需要向对应的VCPU进程注入中断,接收到针对该VCPU进程的中断注入指令。由于只有处于运行状态的VCPU进程才可以注入中断,因此本申请在接收到针对任一VCPU进程的中断注入指令时,先确定该VCPU进程的运行状态。其中,运行状态可以是:运行状态、等待运行状态和睡眠状态。
若运行状态是运行状态,则可以直接向该VCPU进程注入中断;若运行状态是等待运行状态或睡眠状态,则需要先将该VCPU进程调整为运行状态,然后才向该VCPU进程注入中断。
在本公开实施例中,为了让目标PCPU及时执行该VCPU进程,可以向目标PCPU触发一次抢占,并且在下次调度的时,将该VCPU线程选中执行。其中,抢占和调度可以通过预设回调函数来实现。
可选地,预设中断信息与预设回调函数相关联,在PCPU接收到预设中断信息时,通过PCPU执行该预设中断信息相关联的预设回调函数。相应地,本步骤可以包括:通过IOMMU向VCPU进程所在的目标PCPU发送预设中断信息;响应于目标PCPU接收到预设中断信息,通过目标PCPU执行与预设中断信息相关联的预设回调函数,将处于等待运行状态的VCPU进程调整为运行状态。
在一些实施例中,CPU内存储有与目标PCPU对应的任务列表,其中任务列表内包括多个待运行的进程。其中,预设回调函数包括第一回调函数和第二回调函数。第一回调函数用于在下次调度的时选中VCPU线程;第二回调函数可以向PCPU触发一次抢占,暂停当前进程,并触发任务调度运行选中的VCPU线程。
相应地,通过目标PCPU执行与预设中断信息相关联的预设回调函数,将处于等待运行状态的VCPU进程调整为运行状态,包括:通过目标PCPU执行第一回调函数,将VCPU进程调整为任务列表中首个待运行的进程;通过目标PCPU执行第二回调函数,暂停目标PCPU上当前正在运行的进程,并运行VCPU进程,将处于等待运行状态的VCPU进程调整为运行状态。
需要说明的是,任务列表内还包括多个待运行的进程各自分别对应的虚拟运行时间,其中虚拟运行时间用于表示进程的优先级,且虚拟运行时间越小对应的进程的优先级最高;相应地,通过目标PCPU执行第一回调函数,将VCPU进程调整为任务列表中首个待运行的进程,包括:通过目标PCPU执行第一回调函数,将VCPU进程的虚拟运行时间调整为最小虚拟运行时间。
示例性的,如图5所示,虚拟运行时间可以用vruntime表示,最小虚拟运行时间可以用minvruntime表示。第一回调函数可以更新VCPU进程的vruntime到minvruntime。
可选地,继续参见图5,第二回调函数包括preempt current task(抢占当前进程)函数和pick next(选择下一个进程)函数。其中,preempt current task函数可以暂停目标PCPU上当前正在运行的进程。其中,pick next函数可以触发调度时机,通过目标PCPU运行VCPU进程,将处于等待运行状态的VCPU进程调整为运行状态。
需要说明的是,在将处于等待运行状态的VCPU进程调整为运行状态之后,则可以向该VCPU进程注入中断,通过VCPU进程处理中断对应的任务。
本公开实施例提供了一种中断信息的处理方法,包括:响应于接收到针对任一VCPU进程的中断注入指令,确定VCPU进程的运行状态;若VCPU进程的运行状态为等待运行状态,则确定VCPU进程为VCPU进程,并获取VCPU进程对应的中断属性信息,其中中断属性信息包括中断类型信息和中断状态信息;将中断属性信息内的中断类型信息调整为预设中断信息,以及,将中断属性信息内的中断状态信息调整为可接收状态;通过IOMMU向VCPU进程所在的目标PCPU发送预设中断信息,以使目标PCPU将处于等待运行状态的VCPU进程调整为运行状态。在本申请实施例中,由于先将VCPU进程对应的中断类型信息调整为预设中断信息,并将VCPU进程对应的中断状态信息调整为可接收状态,这样,通过IOMMU可以向VCPU进程所在的目标PCPU发送预设中断信息,实现了将处于等待运行状态的VCPU进程调整为运行状态,因此缩短了VCPU进程的中断注入延时,提高中断信息的处理效率。
在本申请实施例中,若VCPU进程的运行状态为睡眠状态,则该VCPU进程对应的中断属性信息内的中断类型信息为预设中断信息,该VCPU进程对应的中断属性信息内的中断状态信息为可接收状态;此时,想要VCPU线程及时的被选中执行,则需要及时触发一次抢占,并且在下次调度的时候将VCPU线程选中执行。
可选地,在响应于接收到针对任一VCPU进程的中断注入指令,确定VCPU进程的运行状态之后,还包括:
若VCPU进程的运行状态为睡眠状态,则通过IOMMU向VCPU进程所在的PCPU发送预设中断信息,以使PCPU将处于睡眠状态的VCPU进程调整为运行状态。
在本步骤中,通过预设中断信息,将处于睡眠状态的VCPU进程调整为运行状态的方法与步骤S204中预设中断信息,将处于等待运行状态的VCPU进程调整为运行状态的方法相同,在此不再进行赘述。
在本申请实施例中,通过IOMMU可以向VCPU进程所在的目标PCPU发送预设中断信息,实现了将处于睡眠状态的VCPU进程唤醒,并及时该VCPU进程,缩短了处于睡眠状态的VCPU进程的中断注入延时,提高中断信息的处理效率。
图6为本公开实施例提供的一种中断信息的处理装置的结构框图。该处理装置应用于中央处理器CPU,其中所述CPU包括多个物理处理器PCPU,每个PCPU上运行一个虚拟机的一个虚拟处理器VCPU进程;参见图6,该装置包括:获取模块601、调整模块602和处理模块603;
获取模块601,用于响应于VCPU进程从运行状态切换到等待运行状态,获取所述VCPU进程对应的中断属性信息,其中所述中断属性信息包括中断类型信息和中断状态信息;其中,所述中断类型信息用于表示向所述VCPU进程所在的目标PCPU发送的中断信息的类型,所述中断状态信息用于表示是否能够向所述VCPU进程所在的目标PCPU发送中断信息;
调整模块602,用于将所述中断属性信息内的中断类型信息调整为预设中断信息,以及,将所述中断属性信息内的中断状态信息调整为可接收状态,其中所述预设中断信息用于指示所述VCPU进程所在的目标PCPU执行预设回调函数,其中所述预设回调函数用于将处于等待运行状态的所述VCPU进程调整为运行状态;
处理模块603,用于响应于接收到针对所述VCPU进程的中断注入指令,向所述VCPU进程所在的目标PCPU发送所述预设中断信息,通过所述目标PCPU执行与所述预设中断信息相关联的预设回调函数,将处于等待运行状态的所述VCPU进程调整为运行状态
根据本公开的一个或多个实施例,所述获取模块601,获取所述VCPU进程对应的中断属性信息,具体包括:确定所述VCPU进程对应的进程标识,获取与所述进程标识对应的地址信息;根据中断类型信息对应的第一地址标识,从所述地址信息中获取所述VCPU进程对应的中断类型信息,以及,根据中断状态信息对应的第二地址标识,从所述地址信息中获取所述VCPU进程对应的中断状态信息。
根据本公开的一个或多个实施例,所述中断状态信息包括第一预设值或第二预设值;其中,所述第一预设值表示可接收状态,所述第二预设值表示不可接收状态;相应地,其中所述调整模块602,将所述中断属性信息内的中断状态信息调整为可接收状态,具体包括:将所述中断属性信息内的中断状态信息调整为第一预设值。
根据本公开的一个或多个实施例,所述CPU内存储有与所述目标PCPU对应的任务列表,其中所述任务列表内包括多个待运行的进程;所述预设回调函数包括第一回调函数和第二回调函数;相应地,所述处理模块603,通过所述目标PCPU执行与所述预设中断信息相关联的预设回调函数,将处于等待运行状态的所述VCPU进程调整为运行状态,具体包括:通过所述目标PCPU执行所述第一回调函数,将所述VCPU进程调整为所述任务列表中首个待运行的进程;通过所述目标PCPU执行所述第二回调函数,暂停所述目标PCPU上当前正在运行的进程,并运行所述VCPU进程,将处于等待运行状态的所述VCPU进程调整为运行状态。
根据本公开的一个或多个实施例,所述任务列表内还包括多个待运行的进程各自分别对应的虚拟运行时间,其中所述虚拟运行时间用于表示进程的优先级,且所述虚拟运行时间越小对应的进程的优先级最高;相应地,所述处理模块603,通过所述目标PCPU执行所述第一回调函数,将所述VCPU进程调整为所述任务列表中首个待运行的进程,具体包括:通过所述目标PCPU执行所述第一回调函数,将所述VCPU进程的虚拟运行时间调整为最小虚拟运行时间。
根据本公开的一个或多个实施例,若所述VCPU进程处于睡眠状态,则所述VCPU进程对应的中断属性信息内的中断类型信息为所述预设中断信息,所述VCPU进程对应的中断属性信息内的中断状态信息为所述可接收状态;相应地,所述处理模块603,还用于:响应于接收到针对所述VCPU进程的中断注入指令,若所述VCPU进程处于睡眠状态,则直接向所述VCPU进程所在的PCPU发送所述预设中断信息,以使所述PCPU将处于睡眠状态的所述VCPU进程调整为运行状态。
其中,获取模块601、调整模块602和处理模块603依次连接。本实施例提供的中断信息的处理装置可以执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图7为本公开实施例提供的一种电子设备的硬件结构示意图。参考图7,该电子设备700可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑(Portable Android Device,简称PAD)、便携式多媒体播放器(Portable Media Player,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700可以包括处理装置(例如中央处理器、图形处理器等)701,其可以根据存储在只读存储器(Read Only Memory ,简称ROM)702中的程序或者从存储装置708加载到随机访问存储器(Random Access Memory ,简称RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有电子设备700操作所需的各种程序和数据。处理装置701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
通常,以下装置可以连接至I/O接口705:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置706;包括例如液晶显示器(Liquid CrystalDisplay ,简称LCD)、扬声器、振动器等的输出装置707;包括例如磁带、硬盘等的存储装置708;以及通信装置709。通信装置709可以允许电子设备700与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备700,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置709从网络上被下载和安装,或者从存储装置708被安装,或者从ROM 702被安装。在该计算机程序被处理装置701执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network ,简称LAN)或广域网(Wide Area Network ,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
第一方面,根据本公开的一个或多个实施例,提供了一种中断信息的处理方法,应用于中央处理器CPU,其中所述CPU包括多个物理处理器PCPU,每个PCPU上运行一个虚拟机的一个虚拟处理器VCPU进程;所述方法包括:
响应于VCPU进程从运行状态切换到等待运行状态,获取所述VCPU进程对应的中断属性信息,其中所述中断属性信息包括中断类型信息和中断状态信息;其中,所述中断类型信息用于表示向所述VCPU进程所在的目标PCPU发送的中断信息的类型,所述中断状态信息用于表示是否能够向所述VCPU进程所在的目标PCPU发送中断信息;
将所述中断属性信息内的中断类型信息调整为预设中断信息,以及,将所述中断属性信息内的中断状态信息调整为可接收状态,其中所述预设中断信息用于指示所述VCPU进程所在的目标PCPU执行预设回调函数,其中所述预设回调函数用于将处于等待运行状态的所述VCPU进程调整为运行状态;
响应于接收到针对所述VCPU进程的中断注入指令,向所述VCPU进程所在的目标PCPU发送所述预设中断信息,通过所述目标PCPU执行与所述预设中断信息相关联的预设回调函数,将处于等待运行状态的所述VCPU进程调整为运行状态。
根据本公开的一个或多个实施例,所述获取所述VCPU进程对应的中断属性信息,包括:确定所述VCPU进程对应的进程标识,获取与所述进程标识对应的地址信息;根据中断类型信息对应的第一地址标识,从所述地址信息中获取所述VCPU进程对应的中断类型信息,以及,根据中断状态信息对应的第二地址标识,从所述地址信息中获取所述VCPU进程对应的中断状态信息。
根据本公开的一个或多个实施例,所述中断状态信息包括第一预设值或第二预设值;其中,所述第一预设值表示可接收状态,所述第二预设值表示不可接收状态;相应地,其中将所述中断属性信息内的中断状态信息调整为可接收状态,包括:将所述中断属性信息内的中断状态信息调整为第一预设值。
根据本公开的一个或多个实施例,所述CPU内存储有与所述目标PCPU对应的任务列表,其中所述任务列表内包括多个待运行的进程;所述预设回调函数包括第一回调函数和第二回调函数;相应地,所述通过所述目标PCPU执行与所述预设中断信息相关联的预设回调函数,将处于等待运行状态的所述VCPU进程调整为运行状态,包括:通过所述目标PCPU执行所述第一回调函数,将所述VCPU进程调整为所述任务列表中首个待运行的进程;通过所述目标PCPU执行所述第二回调函数,暂停所述目标PCPU上当前正在运行的进程,并运行所述VCPU进程,将处于等待运行状态的所述VCPU进程调整为运行状态。
根据本公开的一个或多个实施例,所述任务列表内还包括多个待运行的进程各自分别对应的虚拟运行时间,其中所述虚拟运行时间用于表示进程的优先级,且所述虚拟运行时间越小对应的进程的优先级最高;相应地,通过所述目标PCPU执行所述第一回调函数,将所述VCPU进程调整为所述任务列表中首个待运行的进程,包括:通过所述目标PCPU执行所述第一回调函数,将所述VCPU进程的虚拟运行时间调整为最小虚拟运行时间。
根据本公开的一个或多个实施例,若所述VCPU进程处于睡眠状态,则所述VCPU进程对应的中断属性信息内的中断类型信息为所述预设中断信息,所述VCPU进程对应的中断属性信息内的中断状态信息为所述可接收状态;相应地,所述方法还包括:响应于接收到针对所述VCPU进程的中断注入指令,若所述VCPU进程处于睡眠状态,则直接向所述VCPU进程所在的PCPU发送所述预设中断信息,以使所述PCPU将处于睡眠状态的所述VCPU进程调整为运行状态。
第二方面,根据本公开的一个或多个实施例,提供了一种中断信息的处理装置,应用于中央处理器CPU,其中所述CPU包括多个物理处理器PCPU,每个PCPU上运行一个虚拟机的一个虚拟处理器VCPU进程;所述装置包括:
获取模块,用于响应于VCPU进程从运行状态切换到等待运行状态,获取所述VCPU进程对应的中断属性信息,其中所述中断属性信息包括中断类型信息和中断状态信息;其中,所述中断类型信息用于表示向所述VCPU进程所在的目标PCPU发送的中断信息的类型,所述中断状态信息用于表示是否能够向所述VCPU进程所在的目标PCPU发送中断信息;
调整模块,用于将所述中断属性信息内的中断类型信息调整为预设中断信息,以及,将所述中断属性信息内的中断状态信息调整为可接收状态,其中所述预设中断信息用于指示所述VCPU进程所在的目标PCPU执行预设回调函数,其中所述预设回调函数用于将处于等待运行状态的所述VCPU进程调整为运行状态;
处理模块,用于响应于接收到针对所述VCPU进程的中断注入指令,向所述VCPU进程所在的目标PCPU发送所述预设中断信息,通过所述目标PCPU执行与所述预设中断信息相关联的预设回调函数,将处于等待运行状态的所述VCPU进程调整为运行状态
根据本公开的一个或多个实施例,所述获取模块,获取所述VCPU进程对应的中断属性信息,具体包括:确定所述VCPU进程对应的进程标识,获取与所述进程标识对应的地址信息;根据中断类型信息对应的第一地址标识,从所述地址信息中获取所述VCPU进程对应的中断类型信息,以及,根据中断状态信息对应的第二地址标识,从所述地址信息中获取所述VCPU进程对应的中断状态信息。
根据本公开的一个或多个实施例,所述中断状态信息包括第一预设值或第二预设值;其中,所述第一预设值表示可接收状态,所述第二预设值表示不可接收状态;相应地,其中所述调整模块,将所述中断属性信息内的中断状态信息调整为可接收状态,具体包括:将所述中断属性信息内的中断状态信息调整为第一预设值。
根据本公开的一个或多个实施例,所述CPU内存储有与所述目标PCPU对应的任务列表,其中所述任务列表内包括多个待运行的进程;所述预设回调函数包括第一回调函数和第二回调函数;相应地,所述处理模块,通过所述目标PCPU执行与所述预设中断信息相关联的预设回调函数,将处于等待运行状态的所述VCPU进程调整为运行状态,具体包括:通过所述目标PCPU执行所述第一回调函数,将所述VCPU进程调整为所述任务列表中首个待运行的进程;通过所述目标PCPU执行所述第二回调函数,暂停所述目标PCPU上当前正在运行的进程,并运行所述VCPU进程,将处于等待运行状态的所述VCPU进程调整为运行状态。
根据本公开的一个或多个实施例,所述任务列表内还包括多个待运行的进程各自分别对应的虚拟运行时间,其中所述虚拟运行时间用于表示进程的优先级,且所述虚拟运行时间越小对应的进程的优先级最高;相应地,所述处理模块,通过所述目标PCPU执行所述第一回调函数,将所述VCPU进程调整为所述任务列表中首个待运行的进程,具体包括:通过所述目标PCPU执行所述第一回调函数,将所述VCPU进程的虚拟运行时间调整为最小虚拟运行时间。
根据本公开的一个或多个实施例,若所述VCPU进程处于睡眠状态,则所述VCPU进程对应的中断属性信息内的中断类型信息为所述预设中断信息,所述VCPU进程对应的中断属性信息内的中断状态信息为所述可接收状态;相应地,所述处理模块,还用于:响应于接收到针对所述VCPU进程的中断注入指令,若所述VCPU进程处于睡眠状态,则直接向所述VCPU进程所在的PCPU发送所述预设中断信息,以使所述PCPU将处于睡眠状态的所述VCPU进程调整为运行状态。
第三方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如上第一方面以及第一方面各种可能的设计所述的中断信息的处理方法。
第四方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的中断信息的处理方法。
第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的中断信息的处理方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (10)
1.一种中断信息的处理方法,其特征在于,应用于中央处理器CPU,其中所述CPU包括多个物理处理器PCPU,每个PCPU上运行一个虚拟机的一个虚拟处理器VCPU进程;所述方法包括:
响应于VCPU进程从运行状态切换到等待运行状态,获取所述VCPU进程对应的中断属性信息,其中所述中断属性信息包括中断类型信息和中断状态信息;其中,所述中断类型信息用于表示向所述VCPU进程所在的目标PCPU发送的中断信息的类型,所述中断状态信息用于表示是否能够向所述VCPU进程所在的目标PCPU发送中断信息;
将所述中断属性信息内的中断类型信息调整为预设中断信息,以及,将所述中断属性信息内的中断状态信息调整为可接收状态,其中所述预设中断信息用于指示所述VCPU进程所在的目标PCPU执行预设回调函数,其中所述预设回调函数用于将处于等待运行状态的所述VCPU进程调整为运行状态;
响应于接收到针对所述VCPU进程的中断注入指令,向所述VCPU进程所在的目标PCPU发送所述预设中断信息,通过所述目标PCPU执行与所述预设中断信息相关联的预设回调函数,将处于等待运行状态的所述VCPU进程调整为运行状态。
2.根据权利要求1所述的方法,其特征在于,所述获取所述VCPU进程对应的中断属性信息,包括:
确定所述VCPU进程对应的进程标识,获取与所述进程标识对应的地址信息;
根据中断类型信息对应的第一地址标识,从所述地址信息中获取所述VCPU进程对应的中断类型信息,以及,根据中断状态信息对应的第二地址标识,从所述地址信息中获取所述VCPU进程对应的中断状态信息。
3.根据权利要求1所述的方法,其特征在于,所述中断状态信息包括第一预设值或第二预设值;其中,所述第一预设值表示可接收状态,所述第二预设值表示不可接收状态;
相应地,其中将所述中断属性信息内的中断状态信息调整为可接收状态,包括:
将所述中断属性信息内的中断状态信息调整为第一预设值。
4.根据权利要求1所述的方法,其特征在于,所述CPU内存储有与所述目标PCPU对应的任务列表,其中所述任务列表内包括多个待运行的进程;所述预设回调函数包括第一回调函数和第二回调函数;
相应地,所述通过所述目标PCPU执行与所述预设中断信息相关联的预设回调函数,将处于等待运行状态的所述VCPU进程调整为运行状态,包括:
通过所述目标PCPU执行所述第一回调函数,将所述VCPU进程调整为所述任务列表中首个待运行的进程;
通过所述目标PCPU执行所述第二回调函数,暂停所述目标PCPU上当前正在运行的进程,并运行所述VCPU进程,将处于等待运行状态的所述VCPU进程调整为运行状态。
5.根据权利要求4所述的方法,其特征在于,所述任务列表内还包括多个待运行的进程各自分别对应的虚拟运行时间,其中所述虚拟运行时间用于表示进程的优先级,且所述虚拟运行时间越小对应的进程的优先级最高;
相应地,通过所述目标PCPU执行所述第一回调函数,将所述VCPU进程调整为所述任务列表中首个待运行的进程,包括:
通过所述目标PCPU执行所述第一回调函数,将所述VCPU进程的虚拟运行时间调整为最小虚拟运行时间。
6.根据权利要求1至5任一项所述的方法,其特征在于,若所述VCPU进程处于睡眠状态,则所述VCPU进程对应的中断属性信息内的中断类型信息为所述预设中断信息,所述VCPU进程对应的中断属性信息内的中断状态信息为所述可接收状态;相应地,所述方法还包括:
响应于接收到针对所述VCPU进程的中断注入指令,若所述VCPU进程处于睡眠状态,则直接向所述VCPU进程所在的PCPU发送所述预设中断信息,以使所述PCPU将处于睡眠状态的所述VCPU进程调整为运行状态。
7.一种中断信息的处理装置,其特征在于,应用于中央处理器CPU,其中所述CPU包括多个物理处理器PCPU,每个PCPU上运行一个虚拟机的一个虚拟处理器VCPU进程;所述装置包括:
获取模块,用于响应于VCPU进程从运行状态切换到等待运行状态,获取所述VCPU进程对应的中断属性信息,其中所述中断属性信息包括中断类型信息和中断状态信息;其中,所述中断类型信息用于表示向所述VCPU进程所在的目标PCPU发送的中断信息的类型,所述中断状态信息用于表示是否能够向所述VCPU进程所在的目标PCPU发送中断信息;
调整模块,用于将所述中断属性信息内的中断类型信息调整为预设中断信息,以及,将所述中断属性信息内的中断状态信息调整为可接收状态,其中所述预设中断信息用于指示所述VCPU进程所在的目标PCPU执行预设回调函数,其中所述预设回调函数用于将处于等待运行状态的所述VCPU进程调整为运行状态;
处理模块,用于响应于接收到针对所述VCPU进程的中断注入指令,向所述VCPU进程所在的目标PCPU发送所述预设中断信息,通过所述目标PCPU执行与所述预设中断信息相关联的预设回调函数,将处于等待运行状态的所述VCPU进程调整为运行状态。
8.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至6任一项所述的中断信息的处理方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至6任一项所述的中断信息的处理方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现如权利要求1至6任一项所述的中断信息的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410068507.4A CN117785429A (zh) | 2024-01-17 | 2024-01-17 | 中断信息的处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410068507.4A CN117785429A (zh) | 2024-01-17 | 2024-01-17 | 中断信息的处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117785429A true CN117785429A (zh) | 2024-03-29 |
Family
ID=90389293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410068507.4A Pending CN117785429A (zh) | 2024-01-17 | 2024-01-17 | 中断信息的处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117785429A (zh) |
-
2024
- 2024-01-17 CN CN202410068507.4A patent/CN117785429A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427706B (zh) | 数据处理方法、多服务器系统、数据库、电子设备及存储介质 | |
EP4216033A1 (en) | Application operation mode switching method and apparatus, electronic device, and storage medium | |
CN111240834B (zh) | 任务执行方法、装置、电子设备和存储介质 | |
CN113259744B (zh) | 视频的展示方法、装置、设备及介质 | |
CN112256231B (zh) | 音量控制方法、装置、终端和存储介质 | |
CN111240801A (zh) | 生成堆内存快照文件的方法、装置、介质和电子设备 | |
CN112241229B (zh) | 终端显示控制方法、装置、终端和存储介质 | |
US20240289084A1 (en) | Method, apparatus, and electronic device for controlling display | |
CN110960857A (zh) | 一种游戏数据监控方法、装置、电子设备及存储介质 | |
CN113138883B (zh) | 消息处理方法、装置、存储介质及电子设备 | |
CN117785429A (zh) | 中断信息的处理方法、装置、设备及存储介质 | |
CN112817701B (zh) | 定时器处理方法、装置、电子设备和计算机可读介质 | |
CN114385096B (zh) | 显示控制方法、装置、终端和存储介质 | |
CN112799822B (zh) | 一种程序启动方法、装置、设备及介质 | |
CN117891573A (zh) | 中断信息的处理方法、装置、设备及存储介质 | |
CN110221923B (zh) | 数据访问方法、装置及设备 | |
WO2024188286A1 (zh) | 应用资源分配处理方法、装置、设备及介质 | |
CN116977468A (zh) | 图像帧的绘制处理方法、装置、设备及介质 | |
CN116028167A (zh) | 一种任务处理方法、装置、电子设备及存储介质 | |
CN116126148A (zh) | 晃动操作检测方法、装置及电子设备 | |
CN117827257A (zh) | 内核模块热升级方法、装置、设备及存储介质 | |
CN116634006A (zh) | 多系统蓝牙状态调整方法、装置、电子设备及存储介质 | |
CN117170831A (zh) | 云设备管理方法、装置、设备及存储介质 | |
CN117349003A (zh) | 内存调整方法、装置和电子设备 | |
CN117389834A (zh) | 电子设备的控制方法、装置、终端和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |