Problema de compartilhamento de irq ethernet AWS EC2

0

Eu criei m4.x2large instance com SR-IOV habilitado e executei alguns sipp de testes de desempenho e tenho conhecimento sobre top command ksoftirq/5 is 100% e ele fica com CPU5 todas as outras CPUs 0% load, quero compartilhar irq entre todas as CPUs 8

[root@ip-10-100-2-169 irqbalance]# cat /proc/interrupts | grep eth0
 97:       2119          0          0          0    6581710          0          0          0  xen-pirq-msi-x     eth0-TxRx-0
 98:        576         87          0          0          0    1780987          0          0  xen-pirq-msi-x     eth0-TxRx-1
 99:         34          0          0          0          0          0          0          0  xen-pirq-msi-x     eth0

mpstat (você pode ver CPU5)

[root@ip-10-100-2-169 irqbalance]# mpstat -P ALL
Linux 3.10.0-514.el7.x86_64 (ip-10-100-2-169.us-west-2.compute.internal)    03/07/2017  _x86_64_    (8 CPU)

10:33:15 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
10:33:15 PM  all    0.11    0.00    0.08    0.01    0.00    2.90    0.17    0.00    0.00   96.74
10:33:15 PM    0    0.07    0.00    0.12    0.01    0.00    0.00    0.12    0.00    0.00   99.68
10:33:15 PM    1    0.18    0.00    0.05    0.04    0.00    0.00    0.15    0.00    0.00   99.58
10:33:15 PM    2    0.08    0.00    0.04    0.01    0.00    0.00    0.18    0.00    0.00   99.69
10:33:15 PM    3    0.05    0.00    0.03    0.00    0.00    0.00    0.19    0.00    0.00   99.72
10:33:15 PM    4    0.13    0.00    0.06    0.00    0.00    0.00    0.18    0.00    0.00   99.63
10:33:15 PM    5    0.17    0.00    0.22    0.00    0.00   23.60    0.17    0.00    0.00   75.84
10:33:15 PM    6    0.09    0.00    0.05    0.00    0.00    0.00    0.16    0.00    0.00   99.70
10:33:15 PM    7    0.08    0.00    0.05    0.00    0.00    0.00    0.17    0.00    0.00   99.70

Eu tentei desativar / ativar o irqbalance daemon para ver o resultado, mas é o mesmo. Como faço para compartilhar ethernet irq share em todas as CPUs?

    
por Satish 08.03.2017 / 04:40

1 resposta

0

Para poder espalhar o IRQ para todas as CPUs disponíveis, você precisa alterar a afinidade.

Por exemplo, para alterar a afinidade de IRQ para eth0-TxRx-0

  1. Desativar irqbalance
  2. Verifique a afinidade atual

    # cd /proc/irq/97

    # cat smp_affinity

  3. Altere a afinidade fazendo eco da máscara de bits da CPU

    # echo 0xffff > smp_affinity

  4. Verifique o /proc/interrupts para o IRQ 97

Você pode ler informações mais detalhadas em afinidade do SMP IRQ

    
por 13.03.2017 / 15:48