linux查看pcie性能的命令
如何在Linux系统上验证驱动模块?
如何在Linux系统上验证驱动模块?
在系统上执行 depmod -a 命令后,会在 /lib/modules/`uname -r`/ 目录下创建 modules.*map 文件,如何能确认硬件所需要的驱动模块是什么,就需要通过硬件的ID,来查看 /lib/modules/`uname -r`/modules.pcimap 中定义的模块名称,下面讲解下 modules.pcimap 文件构造。
/lib/modules/`uname -r`/modules.pcimap 文件说明:1、在文件的第一行有个注释,分别介绍每列的含义:
[html] view plain copy# pci module vendor device subvendor subdevice class class_mask driver_data
[html] view plain copy# 模块名称、 生产商ID 、 设备ID、 次生产商ID、次设备ID、类型编号、类型掩码、驱动数据。 2、其中 ID 是使用8个十六进制的数字表示,即前面的 0x 符号就表示 十六进制,而 lspci 只能得到 4位 十六进制数,所以,只要 lspci 的4位数能够和 modules.pcimap 中 ID 的后 4位 相同即可。例如:在执行 lspci -n 时得到的信息是 10ec:8139 ,那么在 modules.pcimap 中,相同的信息就是 0x000010ec 0x00008139 ,就可以确定该硬件所需驱动是 8139cp 模块
3、如果 次生产商ID 和 次设备ID 都是 0xffffffff 的话,就表示该模块能够支持所有 生产商ID 和 设备ID 相同的设备,例如:
说明:8139cp 模块能够支持 生产商ID 为0x000010ec 设备ID 为 0x00008139 的所有设备
但是,如果 生产商ID 是 0xffffffff 时,那么支持的设备就有特定情况,例如:
说明:8139too 模块能够支持 设备ID 是 0x00008139、次生产商ID 是 0x000013d1 、次设备ID 是 0x0000ab06 的所有设备
4、同一个模块能够支持多个设备。
注意事项:在 modules.pcimap 文件中,会存在一些 生产商ID:设备ID 相同,但它们所对应的驱动模块却不相同的情况,例如:
此时,优先顺序应该遵循下面的原则:1、查找 生产商ID:设备ID 和 次生产商ID:次设备ID 相同的 专用模块2、查找 设备ID 和 次生产商ID:次设备ID 相同的 通用模块3、查找 设备ID 建议的 驱动模块4、查找 生产商ID:设备ID 标准的 驱动模块。
因为工作需要,公司超哥写了个排序的命令:
linux系统用什么命令查看pcieslot?
ldd/full/path/conmmand1、首先ldd不是一个可执行程序,而只是一个shell脚本2、ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量,如下:LD_TRACE_LOADED_OBJECTS、LD_WARN、LD_BIND_NOW、LD_LIBRARY_VERSION、LD_VERBOSE等。