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을 할당합니다.
두 열거 스레드 사이에는 순서가 없으므로 PCI 브리지는 ID 1, 2 또는 3을 얻을 수 있습니다.
답변2
댓글을 달 수 없으므로 "답변"으로 충분할 것 같습니다.
시스템을 업그레이드하셨나요? 제가 이 분야의 전문가는 결코 아니지만, 기존 PCI 버스에 PCI/PCI 슬롯을 추가한다면 이 숫자는 바뀔 가능성이 있다고 믿습니다. 내가 틀렸다면 댓글을 남기고 싶지만, 내 지식이 틀렸다면 누군가가 나를 고쳐줄 것이라고 확신합니다.