接入SR-IOV设备的switch下游端口确定方法、装置、设备及介质制造方法及图纸

技术编号:35108094 阅读:16 留言:0更新日期:2022-10-01 17:20
本申请公开了一种接入SR

【技术实现步骤摘要】
接入SR

IOV设备的switch下游端口确定方法、装置、设备及介质


[0001]本专利技术涉及计算机
,特别涉及一种接入SR

IOV设备的交换机下游端口确定方法、装置、设备及介质。

技术介绍

[0002]PCI Express,简称PCI

E,是计算机总线的一个重要分支,大量的设备使用PCI

E接入到计算机上,单个PCI

E卡接入后可呈现为一个设备,例如呈现为单个网卡,显卡。随着技术发展,单个PCI

E物理卡上功能逐步丰富,可使用ASIC(Application Specific Integrated Circuit)/FPGA(Field

Programmable Gate Array)或者软硬件配合的方式,在PCI

E卡上模拟出多级设备,模拟的设备还支持在运行过程按需增加和删除,设备类型和整个总线拓扑结构较为复杂。如图1所示为PCI

E拓扑架构图,PCI

E总线的架构可以形象化为:多组点对点相互连接的组件。大概有这些组成:Root Complex(RC)、多个Endpoint(PCI

E设备)、Switch(交换机)和PCI

E to PCI/PCI

X Bridge,各个成员之间总线即为PCI Express。如图2所示PCI

E Switch内部结构图,整个计算机的PCI

E设备通过switch拓展组织成树形结构,从图中可以看出Switch扩展了PCI

E端口,其中,将靠近RC的端口叫做上游端口(upstream port),而分出来的其他端口,叫做下游端口(downstream port)。一个Switch只有一个上游端口,可以扩展出若干个下游端口;下游端口可以直接连接Endpoint,也可以连接Switch扩展出更多的PCI

E端口。也就是表面上是一张物理网卡,插入服务器后通过一定的配置,服务器端会认为这个PCI

E插槽上插入多张网卡,就如同插槽上插了switch,switch接了多个设备或者再拓展出一级switch,每个设备都有多个function。
[0003]PCI

E卡在模拟出多级switch、多个复杂Endpoint之后,如果重启host(服务器),则在重启的过程中bios(Basic Input Output System,基本输入输出系统)会枚举到所有已经创建出来的Endpoint,并为其分配bus(总线)。普通设备接入downstream时只需要1个bus号,但对于SR

IOV设备,可能需要多个bus号,由于bios实现与具体厂商相关,在实际实现中,即使某SR

IOV设备本身只需要1个bus号,bios也可能强行为此downstream分配多个bus号。也就可能出现接入设备后无法启动的情况。例如某插槽只支持34个bus,当插槽上接入的是32downstream的switch,switch不接入设备时,bios枚举阶段需要34个bus号,插槽恰好可满足需求,系统正常启动;当switch接入非SR

IOV设备时,同样可正常启动;当switch接入1个SR

IOV设备时,bios为接入SR

IOV设备的downstream保留2个bus号,导致总的需要34+1个bus号,超出插槽能力范围,系统无法正常启动。目前,在有SR

IOV设备接入分配下游端口时,通常是查看bios源码,分析最大可支持的switch downstream数量,但是往往服务器Bios源码难以获得,也难以联系bios开发人员获取信息。
[0004]因此,如何在提供switch时,考虑接入SR

IOV设备后不会导致系统重启卡死,支持PCI

E卡自动探测系统带SR

IOV设备后的所能支持的最大switch downstream能力做进一步的适配调整是目前有待解决的问题。

技术实现思路

[0005]有鉴于此,本专利技术的目的在于提供一种接入SR

IOV设备的交换机下游端口确定方法、装置、设备及介质,能够在提供switch时,考虑接入SR

IOV设备后不会导致系统重启卡死,支持PCI

E卡自动探测系统带SR

IOV设备后的所能支持的最大switch downstream能力做进一步的适配调整。其具体方案如下:
[0006]第一方面,本申请公开了一种接入SR

IOV设备的交换机下游端口确定方法,包括:
[0007]确定分配有若干个下游端口的交换机,并为每个所述下游端口接入SR

IOV设备;
[0008]启动服务器并通过基本输入输出系统对所述SR

IOV设备进行枚举,然后记录当前下游端口数量;
[0009]基于所述当前下游端口数量确定出对应分配的当前总线号数量,并判断所述当前总线号数量是否超出PCI

E插槽可提供的范围;
[0010]若所述当前总线号数量不超出所述PCI

E插槽可提供的范围,则改变所述下游端口数量,并通过预设重启方式重新执行所述启动服务器并通过基本输入输出系统对所述SR

IOV设备进行枚举的步骤,直到所述当前总线号数量达到所述PCI

E插槽可提供的范围的阈值,以得到目标下游端口数量。
[0011]可选的,所述启动服务器并通过基本输入输出系统对所述SR

IOV设备进行枚举,然后记录当前下游端口数量,包括:
[0012]启动服务器并通过基本输入输出系统对所述SR

IOV设备进行枚举,然后通过Option Rom判断当前是否处于下游端口数量探测状态;
[0013]若当前处于下游端口数量的探测状态,并且所述下游端口数量有效,则记录当前下游端口数量;
[0014]相应的,所述若所述当前总线号数量不超出所述PCI

E插槽可提供的范围,则改变所述下游端口数量,并通过预设重启方式重新执行所述启动服务器并通过基本输入输出系统对所述SR

IOV设备进行枚举的步骤,包括:
[0015]若所述当前总线号数量不超出所述PCI

E插槽可提供的范围,则改变所述下游端口数量,并通过所述Option Rom重启所述服务器,然后重新执行所述通过基本输入输出系统对所述SR

IOV设备进行枚举的步骤。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种接入SR

IOV设备的交换机下游端口确定方法,其特征在于,包括:确定分配有若干个下游端口的交换机,并为每个所述下游端口接入SR

IOV设备;启动服务器并通过基本输入输出系统对所述SR

IOV设备进行枚举,然后记录当前下游端口数量;基于所述当前下游端口数量确定出对应分配的当前总线号数量,并判断所述当前总线号数量是否超出PCI

E插槽可提供的范围;若所述当前总线号数量不超出所述PCI

E插槽可提供的范围,则改变所述下游端口数量,并通过预设重启方式重新执行所述启动服务器并通过基本输入输出系统对所述SR

IOV设备进行枚举的步骤,直到所述当前总线号数量达到所述PCI

E插槽可提供的范围的阈值,以得到目标下游端口数量。2.根据权利要求1所述的接入SR

IOV设备的交换机下游端口确定方法,其特征在于,所述启动服务器并通过基本输入输出系统对所述SR

IOV设备进行枚举,然后记录当前下游端口数量,包括:启动服务器并通过基本输入输出系统对所述SR

IOV设备进行枚举,然后通过Option Rom判断当前是否处于下游端口数量探测状态;若当前处于下游端口数量的探测状态,并且所述下游端口数量有效,则记录当前下游端口数量;相应的,所述若所述当前总线号数量不超出所述PCI

E插槽可提供的范围,则改变所述下游端口数量,并通过预设重启方式重新执行所述启动服务器并通过基本输入输出系统对所述SR

IOV设备进行枚举的步骤,包括:若所述当前总线号数量不超出所述PCI

E插槽可提供的范围,则改变所述下游端口数量,并通过所述Option Rom重启所述服务器,然后重新执行所述通过基本输入输出系统对所述SR

IOV设备进行枚举的步骤。3.根据权利要求2所述的接入SR

IOV设备的交换机下游端口确定方法,其特征在于,所述若当前处于下游端口数量的探测状态,并且所述下游端口数量有效,包括:若当前处于下游端口数量的探测状态,并且当前的所述下游端口数量对应分配的所述当前总线号数量不超出所述PCI

E插槽可提供的范围,则判定所述下游端口数量有效。4.根据权利要求1所述的接入SR

IOV设备的交换机下游端口确定方法,其特征在于,所述若所述当前总线号数量不超出所述PCI

E插槽可提供的范围,则改变所述下游端口数量,包括:若所述当前总线号数量不超出所述PCI

E插槽可提供的范围,则利用预设收敛值确定方法改变所述下游端口数量,并将所述下游端口数量收敛到的预设阈值确定为所述目标下游端口数量。5.根据权利要求1所述的接入SR

IOV设备的交换机下游端口确定方法,其特征在于,所述确定分配有若干个下游端口的交换机,并为每...

【专利技术属性】
技术研发人员:庄秋彬孙路遥
申请(专利权)人:深圳星云智联科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1