Posso Desabilitar Intencionalmente as Pistas PCIe? Ou menor largura PCIe?

2

Estou fazendo alguns testes no meu servidor e quero diminuir a largura do meu dispositivo PCIe (ou sua ponte PCIe).

Caso seja relevante, descobri como diminuir minha velocidade com base na especificação PCI com o setpci do Linux e alterando a "Target Link Speed" do Registro do Link Control 2. Isso me permite diminuir de 8GT / s para 5GT / s ou mesmo de 2,5GT / s.

Aqui está um exemplo disso:

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

Algumas das minhas ideias até agora para diminuir a largura são:

  • Talvez eu tenha perdido um registro gravável? O Target Link Speed é um registrador com recursos de leitura e gravação. Quando se trata dos registradores Width, vejo apenas registros de somente leitura listados na especificação PCI.

  • Talvez haja uma maneira de desativar algumas das faixas separadas da especificação PCIe?

  • Eu sei que as coisas podem treinar / inicializar para diminuir larguras se estiver com problemas. Então, talvez eu possa injetar erros em uma pista em particular e fazer com que ela solte a pista?

por TaylorSanchez 16.03.2016 / 19:43

0 respostas