PCI ID가 변경되는 원인

PCI ID가 변경되는 원인

lspciRHEL 7.2 시스템에서 실행하는 동안 이더넷 어댑터가 PCI 버스 ID를 변경한 것을 발견했습니다. 아래 예에서는 "02:00.x"에서 "03:00.x"로 변경됩니다.

  1. 원인은 무엇일까요?
  2. 특정 주소로 강제로 보내는 방법이 있나요?

앞으로:

[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와 같은 플랫폼 버스)를 제외한 모든 버스는 루트 버스에서 브리지되며 그 순서는 열거에 따라 달라집니다.

이제 일반적으로 버스 열거는 대부분 결정적입니다. 버스에서 장치를 찾는 순서는 일반적으로 정적이지만 이는 보장되지 않으며 두 버스 브리지를 연결할 때 열거는 병렬입니다.

  1. ACPI 버스 열거 시작
  2. PCIe 브리지 1은 ACPI 버스에서 발견되며 버스 ID 0이 할당됩니다.
  3. PCIe 버스 0 열거 시작
  4. ACPI 버스에서 PCIe 브리지 2를 찾아 버스 ID 1을 할당합니다.
  5. PCIe 버스 0에서 PCI 브리지 1을 찾아 버스 ID 2를 할당합니다.
  6. ACPI 버스에서 PCIe 브리지 3을 찾아 버스 ID 3을 할당합니다.

두 열거 스레드 사이에는 순서가 없으므로 PCI 브리지는 ID 1, 2 또는 3을 얻을 수 있습니다.

답변2

댓글을 달 수 없으므로 "답변"으로 충분할 것 같습니다.

시스템을 업그레이드하셨나요? 제가 이 분야의 전문가는 결코 아니지만, 기존 PCI 버스에 PCI/PCI 슬롯을 추가한다면 이 숫자는 바뀔 가능성이 있다고 믿습니다. 내가 틀렸다면 댓글을 남기고 싶지만, 내 지식이 틀렸다면 누군가가 나를 고쳐줄 것이라고 확신합니다.

관련 정보