本技术涉及计算机,具体涉及一种设备探测方法、片上系统、计算机设备及存储介质。
背景技术:
1、dpdk(data plane development kit,数据平面开发套件)是一个开源的数据平面开发工具集,通常配置于片上系统内部,片上系统通过dpdk能够与其连接的外部设备,比如pci网卡实现高性能的信息传输。在实际应用中,片上系统通过dpdk与pci网卡进行高效通信的前提是dpdk能够有效探测到,即识别到pci网卡。
2、然而,现有的设备探测方法主要针对通过pci总线与片上系统相连的pci网卡,对于集成在片上系统内部的板载网卡则无法进行有效探测,因此,如何使得dpdk探测到片上系统内部的板载网卡,进而实现高性能的信息传输,成为本领域技术人员亟待解决的技术问题之一。
技术实现思路
1、有鉴于此,本技术致力于提供一种设备探测方法、片上系统、计算机设备及存储介质,使得dpdk探测到片上系统内部的板载网卡,进而实现高性能的信息传输。
2、第一方面,本技术提供一种设备探测方法,应用于片上系统,所述片上系统包括处理器以及与所述处理器通信连接的板载网卡,所述处理器搭载有操作系统,所述操作系统包括用户态空间和内核态空间,所述用户态空间配置有数据平面开发套件dpdk且所述dpdk包括用于驱动所述板载网卡的用户态驱动,所述内核态空间配置有所述dpdk可访问的预设文件系统,所述方法包括如下由所述处理器执行的步骤:
3、根据所述板载网卡的设备节点标识,在所述预设文件系统中提取驱动所述板载网卡所需的目标信息;
4、在所述dpdk中创建用于记录所述目标信息的用户态设备文件,且所述用户态设备文件与所述用户态驱动相关联;
5、调用所述用户态驱动并根据所述用户态设备文件与所述用户态驱动之间的关联关系驱动所述板载网卡。
6、基于上述内容,在本技术提供的设备探测方法中,处理器根据板载网卡的设备节点标识,在预设文件系统中提取驱动板载网卡所需的目标信息,并在dpdk中创建用于记录目标信息的用户态设备文件,并且该用户态设备文件与用户态驱动是相关联的,最后处理器调用用户态驱动并根据用户态设备文件与用户态驱动之间的关联关系驱动该板载网卡,由于设备节点标识用于唯一的表示板载网卡,可以确保dpdk探测到的正确的板载网卡,因此,通过本技术提供的设备探测方法,可以使得dpdk探测到片上系统内部的板载网卡,实现对板载网卡的驱动,进而实现高性能的信息传输。
7、在一种可选的实施方式中,所述目标信息包括表征所述板载网卡提供给所述操作系统的可访问空间的资源信息以及所述板载网卡的设备信息;
8、在所述dpdk中创建用于记录所述目标信息的用户态设备文件,包括:
9、在所述dpdk中创建用户态用户空间输入/输出uio设备文件以及用户态运行时环境rte设备文件,其中,所述用户态uio设备文件用于记录所述资源信息,所述用户态rte设备文件用于记录所述设备信息。
10、在本技术中,创建用户态uio设备文件以及用户态rte设备文件,通过用户态uio设备文件记录板载网卡的资源信息,通过用户态rte设备文件记录板载网卡的设备信息,通过提供不同的用户态设备文件分别记录目标信息中的不同内容,满足dpdk关于用户态文件创建的相关规则,确保dpdk能够成功探测到板载网卡。
11、在一种可能的实施方式中,所述用户态设备文件与所述用户态驱动之间的关联关系,包括:
12、所述用户态驱动与所述用户态rte设备文件关联,以及,所述用户态rte设备文件与所述用户态uio设备文件关联。
13、在本技术中,提供用户态设备文件与用户态驱动之间建立关联关系的具体实现方式,用户态uio设备文件与用户态rte设备文件关联,用户态rte设备文件与用户态驱动关联,通过用户态rte设备文件实现用户态uio设备文件与用户态驱动的关联,为通过用户态驱动驱动板载网卡提供实现基础。
14、在一种可能的实施方式中,在所述dpdk中创建用户态uio设备文件,包括:
15、对所述资源信息对应的可访问空间进行地址重映射,得到重映射地址;
16、将所述重映射地址记录于预先调用的用户态uio设备结构体,得到所述用户态uio设备文件。
17、在本技术中,提供一种用户态uio设备文件的具体创建方法,通过用户态uio设备文件记录板载网卡可访问空间的重映射地址,使得用户态驱动基于自身与用户态uio设备之间的关联关系以及用户态uio设备文件所记录的重映射地址实现对板载网卡中可访问空间的访问,进而实现对于板载网卡的驱动。
18、在一种可能的实施方式中,在所述dpdk中创建所述用户态rte设备文件,包括:
19、将所述设备信息记录于预先调用的用户态rte设备结构体,得到所述用户态rte设备文件。
20、在本技术中,提供一种用户态rte设备文件的具体创建方法,通过用户态rte设备文件记录板载网卡的设备信息,由于用户态rte设备文件与用户态驱动相关联,可以使得用户态驱动便捷的获取板载网卡的设备信息,为进一步驱动板载网卡提供可靠支持。
21、在一种可能的实施方式中,在根据所述板载网卡的设备节点标识,在所述预设文件系统中提取驱动所述板载网卡所需的目标信息之前,所述方法还包括:
22、将驱动所述板载网卡所需的目标信息存储于所述预设文件系统中。
23、由于预设文件系统对用户态空间中的dpdk是可访问的,本技术将驱动板载网卡所需的目标信息存储于预设文件系统中,可以确保dpdk成功获取到驱动板载网卡所需的目标信息。
24、在一种可能的实施方式中,所述内核态空间配置有用于驱动所述板载网卡的内核态驱动;
25、将驱动所述板载网卡所需的目标信息存储于所述预设文件系统中,包括:
26、建立所述板载网卡与所述内核态驱动之间的绑定关系;
27、运行所述内核态驱动,以在所述预设文件系统中创建内核态uio设备文件,所述内核态uio设备文件记录有所述资源信息;
28、将所述板载网卡的设备信息存储于所述预设文件系统。
29、在本技术中,处理器将板载网卡的设备信息存储于预设文件系统中,并且,提供一种内核态驱动,通过内核态驱动在预设文件系统中创建用于记录板载网卡资源信息的内核态uio设备文件,由于预设文件系统是用户态空间中dpdk可访问的,通过本方法dpdk便可获取驱动板载网卡所需目标信息。
30、在一种可能的实施方式中,所述目标信息在所述预设文件系统中的存储路径基于所述设备节点标识创建;
31、根据所述板载网卡的设备节点标识,在所述预设文件系统中提取驱动所述板载网卡所需的目标信息,包括:
32、在所述预设文件系统中确定所述设备节点标识对应的目标存储路径;
33、提取存储于所述目标存储路径下的目标信息。
34、在本技术中,驱动板载网卡所需的目标信息在预设文件系统中的存储路径基于板载网卡的设备节点标识创建,dpdk可根据板载网卡的设备节点标识对应的目标存储路径在预设文件系统中提取目标信息,由于设备节点标识可以唯一的表示板载网卡,基于板载网卡的设备节点标识创建目标信息的存储路径,可以确保dpdk获取正确的目标信息,有助于提高dpdk探测板载网卡以及驱动板载网卡的成功率。
35、在一种可能的实施方式中,所述目标信息包括表征所述板载网卡提供给所述操作系统的可访问空间的资源信息以及所述板载网卡的设备信息;
36、所述提取存储于所述目标存储路径下的目标信息,包括:
37、通过所述dpdk中的虚拟设备总线探测函数调用预设探测函数,所述预设探测函数用于提取所述资源信息;
38、调用所述dpdk中的虚拟设备总线扫描函数,以提取所述设备信息。
39、在本技术中,结合dpdk现有的工具集成情况,提供预设探测函数,通过dpdk自身已有的虚拟设备总线探测函数调用该预设探测函数,进而提取板载网卡的资源信息,进一步的,通过dpdk自身的虚拟设备总线扫描函数提取板载网卡的设备信息,本方案充分应用dpdk现有的工具实现目标信息的获取,可以有效减少实现本方案的代码量,降低处理器执行本方案时的负载率,有助于提高处理器的运行性能。
40、第二方面,本技术提供一种片上系统,包括处理器以及与所述处理器通信连接的板载网卡,所述处理器搭载有操作系统,所述操作系统包括用户态空间和内核态空间,所述用户态空间配置有dpdk且所述dpdk包括用于驱动所述板载网卡的用户态驱动,所述内核态空间配置有所述dpdk可访问的预设文件系统;
41、所述处理器执行如本发明第一方面任一项所述的设备探测方法。
42、第三方面,本技术提供一种计算机设备,包括如本发明第二方面任一项所述的片上系统。
43、第四方面,本发明提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被执行时实现本发明第一方面任一项所述的设备探测方法。