lspci
RHEL 7.2システムで実行中に、イーサネットアダプタがPCIバスIDを変更したことがわかりました。以下の例では、「02:00.x」から「03:00.x」に変更されています。
- 原因は何ですか?
- 特定の住所に強制する方法はありますか?
今後:
[root@rhel:~]# lspci | grep Ethernet
02:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
02:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
現在:
[root@rhel:~]# lspci | grep Ethernet
03:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
03:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
答え1
ルートバス(通常はPCのACPIなどのプラットフォームバス)を除くすべてのバスはルートバスからブリッジされ、その順序は列挙に依存します。
現在、一般的にバス列挙はほとんど決定的です。バス上でデバイスを見つける順序は通常静的ですが、これは保証されておらず、両方のバスブリッジを接続するときに列挙は並列です。
- ACPIバス列挙開始
- PCIe ブリッジ 1 は ACPI バスにあり、バス ID 0 が割り当てられます。
- PCIeバス0列挙開始
- ACPI バスで PCIe ブリッジ 2 を見つけ、バス ID 1 を割り当てます。
- PCIe バス 0 から PCI ブリッジ 1 を探し、バス ID 2 を割り当てます。
- ACPI バスで PCIe ブリッジ 3 を見つけ、バス ID 3 を割り当てます。
2 つの列挙スレッド間に順序がないため、PCI ブリッジは ID 1、2、または 3 を取得できます。
答え2
コメントできないので、「回答」で十分そうです。
システムをアップグレードしましたか?私はこの分野の専門家は決してありませんが、既存のPCIバスにPCI / PCIスロットを追加した場合、この数字は変わる可能性があると思います。私が間違っている場合はコメントを残したいのですが、私の知識が間違っている場合は、誰かが私を修正してくれると確信しています。