/sys/class/pci_bus 如何关联物理 PCIe 通道?

/sys/class/pci_bus 如何关联物理 PCIe 通道?

在 Dell R7525 上,我看到以下输出:

[root@r7525 ~]# ls -al /sys/class/pci_bus/
total 0
drwxr-xr-x.  2 root root 0 May 10 10:38 .
drwxr-xr-x. 62 root root 0 May 10 10:38 ..
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:00 -> ../../devices/pci0000:00/pci_bus/0000:00
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:01 -> ../../devices/pci0000:00/0000:00:01.1/pci_bus/0000:01
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:02 -> ../../devices/pci0000:00/0000:00:01.2/pci_bus/0000:02
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:03 -> ../../devices/pci0000:00/0000:00:07.1/pci_bus/0000:03
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:04 -> ../../devices/pci0000:00/0000:00:08.1/pci_bus/0000:04
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:20 -> ../../devices/pci0000:20/pci_bus/0000:20
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:21 -> ../../devices/pci0000:20/0000:20:07.1/pci_bus/0000:21
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:22 -> ../../devices/pci0000:20/0000:20:08.1/pci_bus/0000:22
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:40 -> ../../devices/pci0000:40/pci_bus/0000:40
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:41 -> ../../devices/pci0000:40/0000:40:07.1/pci_bus/0000:41
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:42 -> ../../devices/pci0000:40/0000:40:08.1/pci_bus/0000:42
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:60 -> ../../devices/pci0000:60/pci_bus/0000:60
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:61 -> ../../devices/pci0000:60/0000:60:05.2/pci_bus/0000:61
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:62 -> ../../devices/pci0000:60/0000:60:05.2/0000:61:00.0/pci_bus/0000:62
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:63 -> ../../devices/pci0000:60/0000:60:03.1/pci_bus/0000:63
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:64 -> ../../devices/pci0000:60/0000:60:07.1/pci_bus/0000:64
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:65 -> ../../devices/pci0000:60/0000:60:08.1/pci_bus/0000:65
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:80 -> ../../devices/pci0000:80/pci_bus/0000:80
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:81 -> ../../devices/pci0000:80/0000:80:01.2/pci_bus/0000:81
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:82 -> ../../devices/pci0000:80/0000:80:07.1/pci_bus/0000:82
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:83 -> ../../devices/pci0000:80/0000:80:08.1/pci_bus/0000:83
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:a0 -> ../../devices/pci0000:a0/pci_bus/0000:a0
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:a1 -> ../../devices/pci0000:a0/0000:a0:07.1/pci_bus/0000:a1
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:a2 -> ../../devices/pci0000:a0/0000:a0:08.1/pci_bus/0000:a2
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:c0 -> ../../devices/pci0000:c0/pci_bus/0000:c0
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:c1 -> ../../devices/pci0000:c0/0000:c0:01.1/pci_bus/0000:c1
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:c2 -> ../../devices/pci0000:c0/0000:c0:07.1/pci_bus/0000:c2
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:c3 -> ../../devices/pci0000:c0/0000:c0:08.1/pci_bus/0000:c3
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:c4 -> ../../devices/pci0000:c0/0000:c0:08.3/pci_bus/0000:c4
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:e0 -> ../../devices/pci0000:e0/pci_bus/0000:e0
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:e1 -> ../../devices/pci0000:e0/0000:e0:05.1/pci_bus/0000:e1
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:e2 -> ../../devices/pci0000:e0/0000:e0:07.1/pci_bus/0000:e2
lrwxrwxrwx.  1 root root 0 May 10 10:38 0000:e3 -> ../../devices/pci0000:e0/0000:e0:08.1/pci_bus/0000:e3

我知道在这台服务器中,每个进程有 64 个通道可供公众使用,另外一些通道专用于 OCP 和 iDRAC 等。由于这是一个双进程系统,我们知道有两个独立的根联合体,但 AMD 发挥了其魔力,使这两个独立的根联合体呈现为一系列不重叠的总线 ID,这就是为什么当我lspci -D看到列出了单个 PCIe 域,而不是两个。

我的问题是,我无法弄清楚我在 /sys/class/pci_bus 中看到的内容如何映射回这些物理通道。这里似乎列出了 33 个地址,并且这些地址由 映射domain:bus:slot.function。我不明白这在说什么 - 例如:e3,这将是一辆公共汽车,十进制为 227。没有那么多公共汽车。这些总线号和服务器上的物理总线之间有什么关联?

相关内容