CN117725014B - Dpu场景下的pcie设备属性修改方法及相关装置 - Google Patents
Dpu场景下的pcie设备属性修改方法及相关装置 Download PDFInfo
- Publication number
- CN117725014B CN117725014B CN202410153139.3A CN202410153139A CN117725014B CN 117725014 B CN117725014 B CN 117725014B CN 202410153139 A CN202410153139 A CN 202410153139A CN 117725014 B CN117725014 B CN 117725014B
- Authority
- CN
- China
- Prior art keywords
- target
- equipment
- pcie
- target pcie
- attribute
- 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.)
- Active
Links
- 238000002715 modification method Methods 0.000 title claims abstract description 12
- 238000012986 modification Methods 0.000 claims abstract description 45
- 230000004048 modification Effects 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000013468 resource allocation Methods 0.000 claims abstract description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种DPU场景下的PCIE设备属性修改方法及相关装置,方法包括:在接收到修改目标PCIE设备的设备属性修改指令时,检测目标PCIE设备是否被驱动加载;设备属性修改指令携带修改后的目标设备属性;在目标PCIE设备未被驱动加载时,释放目标PCIE设备占用的第一硬件资源和第一软件资源,根据目标设备属性为目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据第二硬件资源和第二软件资源配置目标PCIE设备;在驱动加载目标PCIE设备时,使用具备目标设备属性的目标PCIE设备。采用本申请可以提升DPU场景下,设备属性修改灵活度。
Description
技术领域
本申请涉及通信技术领域或者互联网技术领域,具体涉及一种DPU场景下的PCIE设备属性修改方法及相关装置。
背景技术
目前,对于DPU场景而言,DPU卡模拟的PCIE设备数量众多,而且还带有单根虚拟化(single root I/O virtualization,SR-IOV)功能。不同用户对PCIE设备的设备属性的要求不一样,如果每次属性的修改都要管里面触发设备的删除和创建流程,则会增加DPU卡的运维复杂度。而且对SR-IOV中的虚拟功能(virtual function,VF)设备而言,VF设备是无法删除的,只能同时删除物理功能(physical function,PF)设备和PF下所有的VF设备,这样会中断用户对其他VF设备的使用,导致DPU场景下的设备属性的修改灵活度较差,因此,如何提升DPU场景下,设备属性修改灵活度的问题亟待解决。
发明内容
本申请提供了一种DPU场景下的PCIE设备属性修改方法及相关装置,可以提升DPU场景下,设备属性修改灵活度。
第一方面,本申请提供一种DPU场景下的PCIE设备属性修改方法,应用于DPU设备,所述DPU设备包括主机,所述方法包括:
在接收到修改目标PCIE设备的设备属性修改指令时,检测所述目标PCIE设备是否被驱动加载;所述设备属性修改指令携带修改后的目标设备属性;
在所述目标PCIE设备未被所述驱动加载时,释放所述目标PCIE设备占用的第一硬件资源和第一软件资源,根据所述目标设备属性为所述目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据所述第二硬件资源和所述第二软件资源配置所述目标PCIE设备;
在所述驱动加载所述目标PCIE设备时,使用具备所述目标设备属性的所述目标PCIE设备。
第二方面,本申请提供了一种DPU场景下的PCIE设备属性修改装置,应用于DPU设备,所述DPU设备包括主机,所述装置包括:检测单元、配置单元和加载单元,其中,
所述检测单元,用于在接收到修改目标PCIE设备的设备属性修改指令时,检测所述目标PCIE设备是否被驱动加载;所述设备属性修改指令携带修改后的目标设备属性;
所述配置单元,用于在所述目标PCIE设备未被所述驱动加载时,释放所述目标PCIE设备占用的第一硬件资源和第一软件资源,根据所述目标设备属性为所述目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据所述第二硬件资源和所述第二软件资源配置所述目标PCIE设备;
所述加载单元,用于在所述驱动加载所述目标PCIE设备时,使用具备所述目标设备属性的所述目标PCIE设备。
第三方面,本申请提供一种DPU设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请第一方面中的步骤的指令。
第四方面,本申请提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请第一方面中所描述的部分或全部步骤。
第五方面,本申请提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
实施本申请,具备如下有益效果:
可以看出,本申请中所描述的DPU场景下的PCIE设备属性修改方法及相关装置,应用于DPU设备,DPU设备包括主机,在接收到修改目标PCIE设备的设备属性修改指令时,检测目标PCIE设备是否被驱动加载,设备属性修改指令携带修改后的目标设备属性,在目标PCIE设备未被驱动加载时,释放目标PCIE设备占用的第一硬件资源和第一软件资源,根据目标设备属性为目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据第二硬件资源和第二软件资源配置目标PCIE设备,在驱动加载目标PCIE设备时,使用具备目标设备属性的目标PCIE设备,即参考PCIE设备当前使用状态,PCIE设备未被使用,则立即修改PCIE设备属性,提升DPU场景下,设备属性修改灵活度。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种用于实施DPU场景下的PCIE设备属性修改方法的DPU场景下的PCIE设备属性修改系统的架构示意图;
图2是本申请提供的一种DPU场景下的PCIE设备属性修改方法的流程示意图;
图3是本申请提供的另一种DPU场景下的PCIE设备属性修改方法的流程示意图;
图4是本申请提供的一种DPU设备的结构示意图;
图5是本申请提供的一种DPU场景下的PCIE设备属性修改装置的功能单元组成框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
具体实现中,本申请所涉及到的DPU设备可以理解为安装有DPU网卡的设备,本申请所涉及到的DPU设备可以包括但不仅限于:智能网卡、数据处理器(data processingunit,DPU)、主机(HOST)、服务器、高速串行计算机扩展总线标准(peripheral componentinterconnect express,PCIE)设备。
本申请实施例中,PCI即Peripheral Component Interconnect,中文意思是“外围器件互联”,是由PCISIG (PCI Special Interest Group)推出的一种局部并行总线标准。PCI总线是一种树型结构,并且独立于CPU总线,可以和CPU总线并行操作。PCI总线上可以挂接PCI设备和PCI桥片,PCI总线上只允许有一个PCI主设备,其他的均为PCI 从设备,而且读写操作只能在主从设备之间进行,从设备之间的数据交换需要通过主设备中转。
其中,PCI Express由早期的PCI扩展衍生而来并且对兼容PCI,两者的主要区别在于并行到串行的切换,且速率更快。PCI Express是一种分层协议,由事务层,数据链路层和物理层组成。
其中,PCIE设备和PCI设备通过一种称作无意外(no surprises)方式实现热插拔。用户不允许在未告知系统软件的情况下插入或者移除一个PCIE设备;用户告知软件将要插入或者移除一个设备之后,软件将进行相关操作,之后告知用户是否可以安全的进行这个操作(通过相应的指示器);然后用户才可以进行接下来的操作。
其中,PCI Option ROM又叫PCI Expansion ROM。它是用于设备初始化和系统boot的code。有的PCI Option ROM被存放在板卡上,而有的则保存在BIOS的binary里面。
其中,DPU场景下,为了使DPU对HOST模拟出多个不同类型的标准PCIE设备,ECPU侧软件需要模拟出整个PCIE拓扑结构和不同类型的PCIE设备;HOST侧操作系统则枚举PCIE拓扑和PCIE设备;最后HOST侧不同类型驱动Probe不同类型PCIE设备。
相关技术中,不支持设备属性的动态修改,需要删除老设备,并创建带有新属性的设备。对于DPU场景而言,DPU卡模拟的PCIE设备数量众多,而且还带有SR-IOV功能。不同用户对设备属性的要求不一样,如果每次属性的修改都要管里面触发设备的删除和创建流程,则会增加DPU卡的运维复杂度。而且对SR-IOV中的VF设备而言,VF设备是无法删除的,只能同时删除PF设备和PF下所有的VF设备,这样会中断用户对其他VF设备的使用。
即相关技术中,PCIE设备在使用过程中,是不允许修改设备属性的,否则会造成数据面的数据流中断,或者导致HOST挂死,如果想要修改设备属性,则需要在DPU侧删除该设备,触发HOST侧对该设备的热拔出流,然后再创建带有新属性的PCIE设备,触发HOST侧对新设备的热插入流程。
而本申请实施例则提供一种DPU场景下的PCIE设备属性修改方法,应用于DPU设备,DPU设备包括主机,在接收到修改目标PCIE设备的设备属性修改指令时,检测目标PCIE设备是否被驱动加载,设备属性修改指令携带修改后的目标设备属性,在目标PCIE设备未被驱动加载时,释放目标PCIE设备占用的第一硬件资源和第一软件资源,根据目标设备属性为目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据第二硬件资源和第二软件资源配置目标PCIE设备,在驱动加载目标PCIE设备时,使用具备目标设备属性的目标PCIE设备,即参考PCIE设备当前使用状态,PCIE设备未被使用,则立即修改PCIE设备属性,提升DPU场景下,设备属性修改灵活度。
本申请实施例,则在DPU场景下,提供一种动态修改PCIE设备属性的方案,提高PCIE设备使用的灵活度,降低DPU卡的运维成本。
请参阅图1,图1是本申请实施例提供的一种用于实施DPU场景下的PCIE设备属性修改方法的DPU场景下的PCIE设备属性修改系统的架构示意图,如图所示,本PCIE设备属性修改系统应用于主机(HOST),该系统可以包括:硬件模块和软件模块。硬件模块可以包括上层硬件(UP),如upstream、硬件层(HW)等等,在此不做限定,软件模块可以包括ECPUEmulator,硬件层可以包括网卡,如DPU网卡。ECPU Emulator用于模拟PCIE拓扑结构,PCIE拓扑结构可以包括多个节点,每一节点对应一个设备,例如,可以包括A1、第一交换机、B1、第二交换机、A2、B2、其中,A1、A2、B1、B2为PCIE设备。
其中,ECPU Emulator即ECPU侧模拟器。
其中,ECPU侧软件模拟器Emulator负责PCIE拓扑的模拟和PCIE设备的模拟,并记录PCIE设备的使用状态,同时负责PCIE设备属性的实时保存。
举例说明下,以A1为例,对A1的设备属性进行修改,得到A1’,如图1中,表示为:A1->A1’;以B1为例,对B1的设备属性进行修改,得到B1’,如图1中,表示为:B1->B1’。
下面对本申请进行详细介绍。
请参阅图2,图2是本申请提供的一种DPU场景下的PCIE设备属性修改方法的流程示意图,应用于DPU设备,所述DPU设备包括主机,如图所示,本PDPU场景下的PCIE设备属性修改包括:
S201、在接收到修改目标PCIE设备的设备属性修改指令时,检测所述目标PCIE设备是否被驱动加载;所述设备属性修改指令携带修改后的目标设备属性。
本申请实施例中,目标设备属性可以预先设置或者系统默认。目标设备属性可以包括以下至少一种:网卡设备的队列数、MAC地址、MTU、队列深度等等,在此不做限定。目标PCIE设备可以包括模拟PCIE设备,具体的,目标PCIE设备可以包括PCIE拓扑结构中的PCIE设备。设备属性修改指令用于修改PCIE设备的设备属性,该设备属性修改指令可以携带修改后的目标设备属性。
本申请实施例中,可以针对不同的业务需求,配置不同的设备属性,当某个PCIE设备的设备属性需要修改时,则可以生成相应的设备属性修改指令,其中,可以预先设置业务类型与设备属性之间的映射关系,进而,可以基于该映射关系确定与需求业务类型相应的设备属性,则设备属性修改指令携带需求业务类型相应的设备属性。
具体实现中,ECPU侧模拟器在接收到修改目标PCIE设备的设备属性修改指令时,可以检测目标PCIE设备是否被驱动加载,即查看PCIE设备当前的使用状态。
举例说明下,以PCIE设备A为例,ECPU侧模拟器收到修改PCIE设备A属性的命令,查看PCIE设备A当前的使用状态。
S202、在所述目标PCIE设备未被所述驱动加载时,释放所述目标PCIE设备占用的第一硬件资源和第一软件资源,根据所述目标设备属性为所述目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据所述第二硬件资源和所述第二软件资源配置所述目标PCIE设备。
本申请实施例中,不同的PCIE设备对应不同的硬件资源和软件资源,针对模拟PCIE设备而言,每一PCIE设备的设备属性决定了其对应的硬件资源和软件资源。硬件资源可以包括以下至少一种:队列资源、MAC地址相关的过滤器、中断资源等等,在此不做限定。软件资源可以包括以下至少一种:队列相关上下文资源、中断相关的上下文资源、内存资源等等,在此不做限定。
具体实现中,在目标PCIE设备未被驱动加载时,则可以释放目标PCIE设备占用的第一硬件资源和第一软件资源,再根据目标设备属性为目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,具体的,可以预先设置预设的设备属性与资源之间的映射关系,该资源可以包括硬件资源和软件资源,进而,可以基于该映射关系,确定目标设备属性对应的第二硬件资源和第二软件资源,再根据第二硬件资源和第二软件资源配置目标PCIE设备,进而,可以使得目标PCIE设备具备目标设备属性。
具体实现中,继续以PCIE设备A为例,如果PCIE设备A没有被HOST侧驱动加载,即PCIE设备A处于空闲状态,则ECPU侧模拟器直接释放其占用的旧的硬件资源和软件资源,根据修改后的属性,来分配新的硬件资源和软件资源。
S203、在所述驱动加载所述目标PCIE设备时,使用具备所述目标设备属性的所述目标PCIE设备。
本申请实施例中,在驱动加载目标PCIE设备时,即加载修改设备属性后的目标PCIE设备时,则可以使用具备目标设备属性的目标PCIE设备。
具体实现中,以PCIE设备A为例,假设设备属性未修改时记作PCIE设备A,在其设备属性修改后,得到设备属性修改后的PCIE设备A’,HOST侧驱动再次加载并使用PCIE设备A’,则会使用新的设备属性。
可选的,还可以包括如下步骤:
在所述目标PCIE设备已经被所述驱动加载时,保存所述目标设备属性,不中断所述目标PCIE设备的使用。
本申请实施例中,在目标PCIE设备已经被驱动加载时,则可以保存目标设备属性,不中断目标PCIE设备的使用,即不中断目标PCIE设备的业务,保证HOST侧业务不中断,从而PCIE设备属性的修改过程,不触发HOST侧对PCIE设备的热插拔流程,即不中断HOST侧业务。
举例说明下,以PCIE设备A为例,如果PCIE设备A已经被HOST侧驱动加载,即PCIE设备A处于被使用状态,ECPU模拟器则实时保存PCIE设备A新的属性,不中断PCIE设备A的使用。
本申请实施例中,检测PCIE设备当前使用状态,PCIE设备未被使用,则立即修改PCIE设备属性,PCIE设备在使用中,则利用PCIE设备属性的实时保存机制,延迟修改PCIE设备属性;HOST侧业务不中断;从而提高PCIE设备使用的灵活度。
可选的,还可以包括如下步骤:
检测所述目标PCIE设备是否被使用完;在所述目标PCIE设备被使用完时,执行所述释放所述目标PCIE设备占用的第一硬件资源和第一软件资源,根据所述目标设备属性为所述目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据所述第二硬件资源和所述第二软件资源配置所述目标PCIE设备的步骤。
本申请实施例中,可以检测目标PCIE设备是否被使用完,在目标PCIE设备被使用完时,执行所述释放所述目标PCIE设备占用的第一硬件资源和第一软件资源,根据所述目标设备属性为所述目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据所述第二硬件资源和所述第二软件资源配置所述目标PCIE设备的步骤,如此,保证PCIE设备属性的修改过程,不触发HOST侧对PCIE设备的热插拔流程,即不中断HOST侧业务。
可选的,上述步骤,检测所述目标PCIE设备是否被使用完,可以按照如下方式实施:
检测所述驱动是否完成卸载所述目标PCIE设备;在所述驱动完成卸载所述目标PCIE设备时,确定所述目标PCIE设备被使用完;或者,检测主机是否重启;在所述主机重启时,确定所述目标PCIE设备被使用完。
本申请实施例中,可以检测驱动是否完成卸载目标PCIE设备,在驱动完成卸载目标PCIE设备时,确定目标PCIE设备被使用完,反之,在驱动未完成卸载目标PCIE设备时,确定目标PCIE设备未被使用完。
当然,还可以检测主机是否重启,在主机重启时,确定目标PCIE设备被使用完。
可选的,上述步骤,检测所述目标PCIE设备是否被使用完,可以按照如下方式实施:
检测所述主机是否重启;在所述主机未重启时,检测所述驱动是否完成卸载所述目标PCIE设备;在所述驱动完成卸载所述目标PCIE设备时,确定所述目标PCIE设备被使用完。
本申请实施例中,可以检测主机是否重启,在主机未重启时,则可以检测驱动是否完成卸载目标PCIE设备,在驱动完成卸载目标PCIE设备时,确定目标PCIE设备被使用完,反之,在驱动未完成卸载目标PCIE设备时,确定目标PCIE设备未被使用完。
举例说明下,如图3所示,修改PCIE设备属性时,检测HOST侧驱动是否加载,若是,保存新的设备属性,PCIE设备继续被HOST使用,直到驱动卸载完成或者HOST重启,释放旧的硬件/软件资源,分配新的硬件/软件资源,HOST侧驱动加载具备新的设备属性的PCIE设备;若否,释放旧的硬件/软件资源,分配新的硬件/软件资源,HOST侧驱动加载具备新的设备属性的PCIE设备。
本申请实施例中,以PCIE设备A为例,可以按照如下方式实现动态修改PCIE设备属性,具体如下:
S1、ECPU侧模拟器收到修改PCIE设备A属性的命令,查看PCIE设备A当前的使用状态;
S2、如果PCIE设备A没有被HOST侧驱动加载,即PCIE设备A处于空闲状态,则ECPU侧模拟器直接释放其占用的旧的硬件资源和软件资源,根据修改后的属性,来分配新的硬件资源和软件资源,转S5;
S3、如果PCIE设备A已经被HOST侧驱动加载,即PCIE设备A处于被使用状态,ECPU模拟器则实时保存PCIE设备A新的属性,不中断PCIE设备A的使用;
S4、HOST侧使用完PCIE设备A,即在驱动卸载完成PCIE设备A之后,或者HOST侧重启,ECPU侧模拟器则释放旧的硬件资源和软件资源,根据保存的新的PCIE设备A的属性,分配新的硬件资源和软件资源,并利用新的硬件资源和软件资源配置PCIE设备A,得到PCIE设备A’;
S5、HOST侧驱动再次加载并使用PCIE设备A’,则会使用新的设备属性。
具体实现中,PCIE设备属性的修改过程,不触发HOST侧对PCIE设备的热插拔流程,即不中断HOST侧业务。
本申请实施例中,参考PCIE设备当前使用状态;PCIE设备未被使用,则立即修改PCIE设备属性,PCIE设备在使用中,则利用PCIE设备属性的实时保存机制,延迟修改PCIE设备属性,HOST侧业务不中断。
可以看出,本申请中所描述的DPU场景下的PCIE设备属性修改方法,应用于DPU设备,DPU设备包括主机,在接收到修改目标PCIE设备的设备属性修改指令时,检测目标PCIE设备是否被驱动加载,设备属性修改指令携带修改后的目标设备属性,在目标PCIE设备未被驱动加载时,释放目标PCIE设备占用的第一硬件资源和第一软件资源,根据目标设备属性为目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据第二硬件资源和第二软件资源配置目标PCIE设备,在驱动加载目标PCIE设备时,使用具备目标设备属性的目标PCIE设备,即参考PCIE设备当前使用状态,PCIE设备未被使用,则立即修改PCIE设备属性,提升DPU场景下,设备属性修改灵活度。
与上述实施例一致地,请参阅图4,图4是本申请提供的一种DPU设备的结构示意图,如图所示,所述DPU设备包括主机,该DPU设备包括处理器、存储器、通信接口以及一个或多个程序,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,本申请中,上述程序包括用于执行以下步骤的指令:
在接收到修改目标PCIE设备的设备属性修改指令时,检测所述目标PCIE设备是否被驱动加载;所述设备属性修改指令携带修改后的目标设备属性;
在所述目标PCIE设备未被所述驱动加载时,释放所述目标PCIE设备占用的第一硬件资源和第一软件资源,根据所述目标设备属性为所述目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据所述第二硬件资源和所述第二软件资源配置所述目标PCIE设备;
在所述驱动加载所述目标PCIE设备时,使用具备所述目标设备属性的所述目标PCIE设备。
可选的,上述程序还包括用于执行以下步骤的指令:
在所述目标PCIE设备已经被所述驱动加载时,保存所述目标设备属性,不中断所述目标PCIE设备的使用。
可选的,上述程序还包括用于执行以下步骤的指令:
检测所述目标PCIE设备是否被使用完;
在所述目标PCIE设备被使用完时,执行所述释放所述目标PCIE设备占用的第一硬件资源和第一软件资源,根据所述目标设备属性为所述目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据所述第二硬件资源和所述第二软件资源配置所述目标PCIE设备的步骤。
可选的,在所述检测所述目标PCIE设备是否被使用完方面,上述程序包括用于执行以下步骤的指令:
检测所述驱动是否完成卸载所述目标PCIE设备;
在所述驱动完成卸载所述目标PCIE设备时,确定所述目标PCIE设备被使用完;
或者,
检测所述主机是否重启;
在所述主机重启时,确定所述目标PCIE设备被使用完。
可选的,在所述检测所述目标PCIE设备是否被使用完方面,上述程序包括用于执行以下步骤的指令:
检测所述主机是否重启;
在所述主机未重启时,检测所述驱动是否完成卸载所述目标PCIE设备;
在所述驱动完成卸载所述目标PCIE设备时,确定所述目标PCIE设备被使用完。
可以看出,本申请中所描述的DPU设备,该DPU设备包括主机,在接收到修改目标PCIE设备的设备属性修改指令时,检测目标PCIE设备是否被驱动加载,设备属性修改指令携带修改后的目标设备属性,在目标PCIE设备未被驱动加载时,释放目标PCIE设备占用的第一硬件资源和第一软件资源,根据目标设备属性为目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据第二硬件资源和第二软件资源配置目标PCIE设备,在驱动加载目标PCIE设备时,使用具备目标设备属性的目标PCIE设备,即参考PCIE设备当前使用状态,PCIE设备未被使用,则立即修改PCIE设备属性,提升DPU场景下,设备属性修改灵活度。
图5是本申请中所涉及的一种DPU场景下的PCIE设备属性修改装置500的功能单元组成框图。该DPU场景下的PCIE设备属性修改装置500应用于DPU设备,所述DPU设备包括主机,所述DPU场景下的PCIE设备属性修改装置500包括:检测单元501、配置单元502和加载单元503,其中,
所述检测单元501,用于在接收到修改目标PCIE设备的设备属性修改指令时,检测所述目标PCIE设备是否被驱动加载;所述设备属性修改指令携带修改后的目标设备属性;
所述配置单元502,用于在所述目标PCIE设备未被所述驱动加载时,释放所述目标PCIE设备占用的第一硬件资源和第一软件资源,根据所述目标设备属性为所述目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据所述第二硬件资源和所述第二软件资源配置所述目标PCIE设备;
所述加载单元503,用于在所述驱动加载所述目标PCIE设备时,使用具备所述目标设备属性的所述目标PCIE设备。
可选的,所述DPU场景下的PCIE设备属性修改装置500还具体用于:
在所述目标PCIE设备已经被所述驱动加载时,保存所述目标设备属性,不中断所述目标PCIE设备的使用。
可选的,所述DPU场景下的PCIE设备属性修改装置500还具体用于:
检测所述目标PCIE设备是否被使用完;
在所述目标PCIE设备被使用完时,执行所述释放所述目标PCIE设备占用的第一硬件资源和第一软件资源,根据所述目标设备属性为所述目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据所述第二硬件资源和所述第二软件资源配置所述目标PCIE设备的步骤。
可选的,在所述检测所述目标PCIE设备是否被使用完方面,所述检测单元501具体用于:
检测所述驱动是否完成卸载所述目标PCIE设备;
在所述驱动完成卸载所述目标PCIE设备时,确定所述目标PCIE设备被使用完;
或者,
检测所述主机是否重启;
在所述主机重启时,确定所述目标PCIE设备被使用完。
可选的,在所述检测所述目标PCIE设备是否被使用完方面,所述检测单元501具体用于:
检测所述主机是否重启;
在所述主机未重启时,检测所述驱动是否完成卸载所述目标PCIE设备;
在所述驱动完成卸载所述目标PCIE设备时,确定所述目标PCIE设备被使用完。
可以看出,本申请中所描述的DPU场景下的PCIE设备属性修改装置,应用于DPU设备,DPU设备包括主机,在接收到修改目标PCIE设备的设备属性修改指令时,检测目标PCIE设备是否被驱动加载,设备属性修改指令携带修改后的目标设备属性,在目标PCIE设备未被驱动加载时,释放目标PCIE设备占用的第一硬件资源和第一软件资源,根据目标设备属性为目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据第二硬件资源和第二软件资源配置目标PCIE设备,在驱动加载目标PCIE设备时,使用具备目标设备属性的目标PCIE设备,即参考PCIE设备当前使用状态,PCIE设备未被使用,则立即修改PCIE设备属性,提升DPU场景下,设备属性修改灵活度。
可以理解的是,本实施例的DPU场景下的PCIE设备属性修改装置的各程序模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本申请还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括DPU设备。
本申请还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括DPU设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory ,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种DPU场景下的PCIE设备属性修改方法,其特征在于,应用于DPU设备,所述DPU设备包括主机,所述方法包括:
在接收到修改目标PCIE设备的设备属性修改指令时,检测所述目标PCIE设备是否被驱动加载;所述设备属性修改指令携带修改后的目标设备属性;
在所述目标PCIE设备未被所述驱动加载时,释放所述目标PCIE设备占用的第一硬件资源和第一软件资源,根据所述目标设备属性为所述目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,具体为:根据预设的设备属性与资源之间的映射关系确定所述目标设备属性对应的所述第二硬件资源和所述第二软件资源;并根据所述第二硬件资源和所述第二软件资源配置所述目标PCIE设备;所述第一硬件资源、所述第二硬件资源均包括以下至少一种:队列资源、MAC地址相关的过滤器、中断资源;所述第一软件资源、所述第二软件资源均包括以下至少一种:队列相关上下文资源、中断相关的上下文资源、内存资源;
在所述驱动加载所述目标PCIE设备时,使用具备所述目标设备属性的所述目标PCIE设备。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标PCIE设备已经被所述驱动加载时,保存所述目标设备属性,不中断所述目标PCIE设备的使用。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
检测所述目标PCIE设备是否被使用完;
在所述目标PCIE设备被使用完时,执行所述释放所述目标PCIE设备占用的第一硬件资源和第一软件资源,根据所述目标设备属性为所述目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据所述第二硬件资源和所述第二软件资源配置所述目标PCIE设备的步骤。
4.根据权利要求3所述的方法,其特征在于,所述检测所述目标PCIE设备是否被使用完,包括:
检测所述驱动是否完成卸载所述目标PCIE设备;
在所述驱动完成卸载所述目标PCIE设备时,确定所述目标PCIE设备被使用完;
或者,
检测所述主机是否重启;
在所述主机重启时,确定所述目标PCIE设备被使用完。
5.根据权利要求3所述的方法,其特征在于,所述检测所述目标PCIE设备是否被使用完,包括:
检测所述主机是否重启;
在所述主机未重启时,检测所述驱动是否完成卸载所述目标PCIE设备;
在所述驱动完成卸载所述目标PCIE设备时,确定所述目标PCIE设备被使用完。
6.一种DPU场景下的PCIE设备属性修改装置,其特征在于,应用于DPU设备,所述DPU设备包括主机,所述装置包括:检测单元、配置单元和加载单元,其中,
所述检测单元,用于在接收到修改目标PCIE设备的设备属性修改指令时,检测所述目标PCIE设备是否被驱动加载;所述设备属性修改指令携带修改后的目标设备属性;
所述配置单元,用于在所述目标PCIE设备未被所述驱动加载时,释放所述目标PCIE设备占用的第一硬件资源和第一软件资源,根据所述目标设备属性为所述目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,具体为:根据预设的设备属性与资源之间的映射关系确定所述目标设备属性对应的所述第二硬件资源和所述第二软件资源;并根据所述第二硬件资源和所述第二软件资源配置所述目标PCIE设备;所述第一硬件资源、所述第二硬件资源均包括以下至少一种:队列资源、MAC地址相关的过滤器、中断资源;所述第一软件资源、所述第二软件资源均包括以下至少一种:队列相关上下文资源、中断相关的上下文资源、内存资源;
所述加载单元,用于在所述驱动加载所述目标PCIE设备时,使用具备所述目标设备属性的所述目标PCIE设备。
7.根据权利要求6所述的装置,其特征在于,所述装置还具体用于:
在所述目标PCIE设备已经被所述驱动加载时,保存所述目标设备属性,不中断所述目标PCIE设备的使用。
8.根据权利要求7所述的装置,其特征在于,所述装置还具体用于:
检测所述目标PCIE设备是否被使用完;
在所述目标PCIE设备被使用完时,执行所述释放所述目标PCIE设备占用的第一硬件资源和第一软件资源,根据所述目标设备属性为所述目标PCIE设备进行资源分配,得到第二硬件资源和第二软件资源,并根据所述第二硬件资源和所述第二软件资源配置所述目标PCIE设备的步骤。
9.一种DPU设备,其特征在于,包括处理器、存储器,所述存储器用于存储一个或多个程序,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-5任一项所述的方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410153139.3A CN117725014B (zh) | 2024-02-04 | 2024-02-04 | Dpu场景下的pcie设备属性修改方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410153139.3A CN117725014B (zh) | 2024-02-04 | 2024-02-04 | Dpu场景下的pcie设备属性修改方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117725014A CN117725014A (zh) | 2024-03-19 |
CN117725014B true CN117725014B (zh) | 2024-05-28 |
Family
ID=90200064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410153139.3A Active CN117725014B (zh) | 2024-02-04 | 2024-02-04 | Dpu场景下的pcie设备属性修改方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117725014B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101124541A (zh) * | 2005-02-25 | 2008-02-13 | 国际商业机器公司 | 修改逻辑分区数据处理系统中的虚拟适配器资源 |
CN105893311A (zh) * | 2016-03-28 | 2016-08-24 | 青岛海信电器股份有限公司 | 通用串行总线接口驱动配置方法和装置 |
CN107180008A (zh) * | 2017-05-23 | 2017-09-19 | 郑州云海信息技术有限公司 | 一种在Linux系统下自动获取PCIE外接卡信息的方法 |
CN107239295A (zh) * | 2016-03-29 | 2017-10-10 | 腾讯科技(深圳)有限公司 | 一种软件升级的方法及软件升级装置 |
CN109614223A (zh) * | 2018-11-01 | 2019-04-12 | 新华三技术有限公司成都分公司 | 硬件资源调度方法、装置及硬件资源调度设备 |
CN113111025A (zh) * | 2021-06-10 | 2021-07-13 | 深圳市科力锐科技有限公司 | Pci设备映射方法、装置、设备及存储介质 |
US11169971B2 (en) * | 2015-04-30 | 2021-11-09 | Omniquity, Inc. | Electronic file transfer and modification system and method |
CN115185874A (zh) * | 2022-09-15 | 2022-10-14 | 珠海星云智联科技有限公司 | 一种pcie资源的分配方法及相关装置 |
CN115657553A (zh) * | 2022-10-25 | 2023-01-31 | 珠海星云智联科技有限公司 | Pcie拓扑和pcie设备模拟方法、装置、设备及介质 |
CN115905070A (zh) * | 2023-03-03 | 2023-04-04 | 北京金橙子科技股份有限公司 | 一种激光器控制接口的适配方法、适配装置和可存储介质 |
CN115904520A (zh) * | 2023-03-13 | 2023-04-04 | 珠海星云智联科技有限公司 | 基于pcie拓扑状态变更的配置保存方法及相关设备 |
CN116010307A (zh) * | 2022-09-15 | 2023-04-25 | 北京百度网讯科技有限公司 | 服务器资源分配系统、方法和装置 |
CN116700779A (zh) * | 2023-06-20 | 2023-09-05 | 中国工商银行股份有限公司 | 代码动态调整方法、装置、设备、介质和程序产品 |
-
2024
- 2024-02-04 CN CN202410153139.3A patent/CN117725014B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101124541A (zh) * | 2005-02-25 | 2008-02-13 | 国际商业机器公司 | 修改逻辑分区数据处理系统中的虚拟适配器资源 |
US11169971B2 (en) * | 2015-04-30 | 2021-11-09 | Omniquity, Inc. | Electronic file transfer and modification system and method |
CN105893311A (zh) * | 2016-03-28 | 2016-08-24 | 青岛海信电器股份有限公司 | 通用串行总线接口驱动配置方法和装置 |
CN107239295A (zh) * | 2016-03-29 | 2017-10-10 | 腾讯科技(深圳)有限公司 | 一种软件升级的方法及软件升级装置 |
CN107180008A (zh) * | 2017-05-23 | 2017-09-19 | 郑州云海信息技术有限公司 | 一种在Linux系统下自动获取PCIE外接卡信息的方法 |
CN109614223A (zh) * | 2018-11-01 | 2019-04-12 | 新华三技术有限公司成都分公司 | 硬件资源调度方法、装置及硬件资源调度设备 |
CN113111025A (zh) * | 2021-06-10 | 2021-07-13 | 深圳市科力锐科技有限公司 | Pci设备映射方法、装置、设备及存储介质 |
CN115185874A (zh) * | 2022-09-15 | 2022-10-14 | 珠海星云智联科技有限公司 | 一种pcie资源的分配方法及相关装置 |
CN116010307A (zh) * | 2022-09-15 | 2023-04-25 | 北京百度网讯科技有限公司 | 服务器资源分配系统、方法和装置 |
CN115657553A (zh) * | 2022-10-25 | 2023-01-31 | 珠海星云智联科技有限公司 | Pcie拓扑和pcie设备模拟方法、装置、设备及介质 |
CN115905070A (zh) * | 2023-03-03 | 2023-04-04 | 北京金橙子科技股份有限公司 | 一种激光器控制接口的适配方法、适配装置和可存储介质 |
CN115904520A (zh) * | 2023-03-13 | 2023-04-04 | 珠海星云智联科技有限公司 | 基于pcie拓扑状态变更的配置保存方法及相关设备 |
CN116700779A (zh) * | 2023-06-20 | 2023-09-05 | 中国工商银行股份有限公司 | 代码动态调整方法、装置、设备、介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN117725014A (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5376496B2 (ja) | 仮想マシンデバイスの動的割り当て | |
US7971203B2 (en) | Method, apparatus and system for dynamically reassigning a physical device from one virtual machine to another | |
CN107894913B (zh) | 一种计算机系统和存储访问装置 | |
US8141094B2 (en) | Distribution of resources for I/O virtualized (IOV) adapters and management of the adapters through an IOV management partition via user selection of compatible virtual functions | |
US8141092B2 (en) | Management of an IOV adapter through a virtual intermediary in a hypervisor with functional management in an IOV management partition | |
JP5323897B2 (ja) | 仮想マシン・モニタと、acpi準拠ゲスト・オペレーティング・システムとの間の双方向通信のための方法、装置及びシステム | |
US8141093B2 (en) | Management of an IOV adapter through a virtual intermediary in an IOV management partition | |
CN113312143B (zh) | 云计算系统、命令处理方法及虚拟化仿真装置 | |
US20170017511A1 (en) | Method for memory management in virtual machines, and corresponding system and computer program product | |
US8527666B2 (en) | Accessing a configuration space of a virtual function | |
US8495274B2 (en) | Address translation table to enable access to virtual functions | |
CN112395152B (zh) | 服务器资源获取方法及获取系统 | |
US20190377612A1 (en) | VCPU Thread Scheduling Method and Apparatus | |
CN116737636A (zh) | Pcie设备热拔插控制方法及相关装置 | |
CN115951966A (zh) | 验证仿真的基于PCIe的存储装置的电力循环的系统和方法 | |
CN116107690A (zh) | 虚拟机内存管理方法及计算设备 | |
CN116560803B (zh) | 基于sr-iov的资源管理方法及相关装置 | |
CN117725014B (zh) | Dpu场景下的pcie设备属性修改方法及相关装置 | |
CN107766122B (zh) | 一种宿主机的可用内存空间设置方法和装置 | |
CN115129648A (zh) | 车载监控板pcie总线转usb总线的方法及装置 | |
CN109002347B (zh) | 一种虚拟机内存分配方法、装置及系统 | |
CN117707709B (zh) | Sr-iov配置使能控制方法及相关装置 | |
CN112667363A (zh) | 一种基于云平台的虚拟机模拟云物理主机的方法及装置 | |
CN114860339B (zh) | 智能板卡的控制方法、电子设备的启动方法及电子系统 | |
CN113014667B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |