Могу ли я намеренно отключить линии PCIe? Или уменьшить ширину PCIe?

Я провожу некоторое тестирование на своем сервере и хочу уменьшить ширину моего устройства PCIe (или его моста PCIe).

В случае, если это уместно, я выяснил, как снизить свою скорость на основе спецификации PCI с помощью setpci Linux и изменив "Target Link Speed" регистра Link Control 2. Это позволяет мне снижаться с 8GT/s до 5GT/s или даже 2.5GT/s.

Вот пример этой работы:

Server:~ # setpci -s 83:04.0 98.w=1:ff
Server:~ # setpci -s 83:04.0 78.w=20:20
Server:~ # ./check_speed_width
  84:00.0 has reported reduced PCIe speed: 2.5GT/s instead of 8GT/s
  bridge device 83:04.0 has reported reduced PCIe speed: 2.5GT/s instead of 8GT/s
Server:~ # setpci -s 83:04.0 98.w=2:ff
Server:~ # setpci -s 83:04.0 78.w=20:20
Server:~ # ./check_speed_width
  84:00.0 has reported reduced PCIe speed: 5GT/s instead of 8GT/s
  bridge device 83:04.0 has reported reduced PCIe speed: 5GT/s instead of 8GT/s

Вот некоторые из моих идей по уменьшению ширины:

  • Может я просто пропустил доступный для записи регистр? Target Link Speed ​​- это регистр с возможностями чтения и записи. Когда дело доходит до регистров ширины, я вижу только регистры только для чтения, перечисленные в спецификации PCI.

  • Может быть, есть способ отключить некоторые линии отдельно от спецификации PCIe?

  • Я знаю, что материал может тренироваться / инициализироваться для уменьшения ширины, если возникают проблемы. Так, может быть, я могу ввести ошибки в конкретную полосу и заставить ее отбросить полосу?

0 ответов

Другие вопросы по тегам