forçar a renegociação da velocidade do PCIe no Linux

6

Estou trabalhando com placas PCIe Gen 3 e, de tempos em tempos, elas parecem voltar às velocidades PCIe 1 ou 2 (de acordo com o lspci e também observadas pelo throughput).

Ao reinicializar / ligar e desligar a máquina, a velocidade volta para a velocidade total do PCIe Gen 3 na maioria dos casos.

Existe uma maneira menos intrusiva de forçar uma renegociação da velocidade do link PCI (tentando trazê-lo de volta para o PCI Gen 3) em, por exemplo, RHEL6?

    
por Andre Holzner 05.07.2012 / 12:07

1 resposta

2

Você pode verificar sua política de energia PCIe neste arquivo:

# cat /sys/module/pcie_aspm/parameters/policy

Como o Gen3 é bastante direto no gerenciamento de energia através do ASPM (Active-State Power Management), essa pode ser a causa raiz do problema no seu barramento: o throughput é baixo e os módulos reduzem a velocidade, mas esquecem de aumentar novamente quando necessário (se necessário). Você pode aplicar no grub para evitar o uso da diretiva "powersave" ou "default" desabilitando aspm com o seguinte parâmetro:

pcie_aspm=off

Teste isso em apenas um kernel anexando esta opção em /boot/grub/grub.conf na linha "kernel" do linux de boot padrão. Exemplo de configuração do grub extraído dos documentos da Red Hat:

default=0 
timeout=10 
splashimage=(hd0,0)/grub/splash.xpm.gz 
hiddenmenu 
title Red Hat Enterprise Linux Server (2.6.18-2.el5PAE)         
root (hd0,0)         
kernel /boot/vmlinuz-2.6.18-2.el5PAE ro root=LABEL=/1 rhgb quiet pcie_aspm=off      
initrd /boot/initrd-2.6.18-2.el5PAE.img
    
por 04.04.2013 / 15:24

Tags