[GTER] RES: Perdas de pacotes

Eduardo Schoedler listas at esds.com.br
Sat Feb 11 04:01:28 -02 2012


O driver da bge (ou bce, nao tenho certeza) em Linux tem problema com setar IRQ affinity. É necessário fazer ifconfig down e depois up para funcionar. Distribuir um IRQ para cada core é melhor que jogar todas placas nos mesmos.

Sei porque apanhei dessas broadcom em um Dell R900.

Você ainda pode instalar o irqbalance, mas nao sei se nao cairá no mesmo problema do driver.

--
Eduardo Schoedler
Enviado via iPhone

Em 10/02/2012, às 20:28, Juliano Primavesi | KingHost <juliano at kinghost.com.br> escreveu:

> 
> Pelo resultado, teu trafego é da eth0 para a eth1+eth2 ou vice-versa, e está sendo totalmente processado pela irq 0
> 
> Coloca esses comandos para processar a eth0 na eth1:
> 
> echo "02" > /proc/irq/27/smp_affinity
> echo "02" > /proc/irq/28/smp_affinity
> echo "02" > /proc/irq/29/smp_affinity
> 
> Pra confirmar que está funcionando, voce deve começar a ver as interrupções que antes iam para CPU0, irem para CPU1
> 
> O bom mesmo era botar um quad-core tambem e colocar cada eth em um core diferente.
> 
> Juliano
> 
> Em 10/02/2012 16:27, Alberto Freire escreveu:
>> Segue...
>> 
>> ~# cat /proc/interrupts
>>            CPU0       CPU1
>>   0:      22979          0   IO-APIC-edge      timer
>>   3:          2          0   IO-APIC-edge
>>   4:          2          0   IO-APIC-edge
>>   8:         29          0   IO-APIC-edge      rtc0
>>   9:          0          0   IO-APIC-fasteoi   acpi
>>  16:         28          0   IO-APIC-fasteoi   ehci_hcd:usb1
>>  23:         29          0   IO-APIC-fasteoi   ehci_hcd:usb2
>>  26:  106879230          0   PCI-MSI-edge      ahci
>>  27: 1363826979          0   PCI-MSI-edge      eth0-0
>>  28: 1424148881          0   PCI-MSI-edge      eth0-1
>>  29: 2517491916          0   PCI-MSI-edge      eth0-2
>>  36:   40183076          0   PCI-MSI-edge      eth1-0
>>  37:  796589301          0   PCI-MSI-edge      eth1-1
>>  38: 4174970324          0   PCI-MSI-edge      eth1-2
>>  45: 2120765106          0   PCI-MSI-edge      eth2-0
>>  46:  776149817          0   PCI-MSI-edge      eth2-1
>>  47: 3054587385          0   PCI-MSI-edge      eth2-2
>> NMI:          0          0   Non-maskable interrupts
>> LOC: 3309708108  803206516   Local timer interrupts
>> SPU:          0          0   Spurious interrupts
>> PMI:          0          0   Performance monitoring interrupts
>> PND:          0          0   Performance pending work
>> RES:    6775592   10194958   Rescheduling interrupts
>> CAL:         17         55   Function call interrupts
>> TLB:    3430623    2052982   TLB shootdowns
>> TRM:          0          0   Thermal event interrupts
>> THR:          0          0   Threshold APIC interrupts
>> MCE:          0          0   Machine check exceptions
>> MCP:      22849      22849   Machine check polls
>> ERR:          0
>> MIS:          0
>> 
>> 
>> Tenho esse script para o kernel... Vou adicionar o /proc/...*backlog que não tem!
>> 
>> # performance de conexoes TCP
>>        echo 0 > /proc/sys/net/ipv4/tcp_ecn
>>        echo 0 > /proc/sys/net/ipv4/tcp_abort_on_overflow
>> 
>>        echo 5 > /proc/sys/net/ipv4/tcp_synack_retries
>>        echo 5 > /proc/sys/net/ipv4/tcp_syn_retries
>> 
>>        echo 111616 > /proc/sys/net/core/rmem_default
>>        echo 111616 > /proc/sys/net/core/wmem_default
>> 
>>        echo 111616 > /proc/sys/net/core/rmem_max
>>        echo 111616 > /proc/sys/net/core/wmem_max
>> 
>>        echo 4096 87380 944768 > /proc/sys/net/ipv4/tcp_rmem
>>        echo 4096 16384 944768 > /proc/sys/net/ipv4/tcp_wmem
>>        echo 22143 29524 44286 > /proc/sys/net/ipv4/tcp_mem
>> 
>>        echo 0 > /proc/sys/net/ipv4/tcp_no_metrics_save
>>        echo 3 > /proc/sys/net/ipv4/tcp_reordering
>> 
>> 
>> 
>> Em 10-02-2012 12:17, Juliano Primavesi | KingHost escreveu:
>>> 
>>> o melhor que da pra fazer é isso:
>>> 
>>> ethtool -G eth0 rx 1020
>>> ifconfig eth0 txqueuelen 100000
>>> 
>>> echo 8192 > /proc/sys/net/ipv4/tcp_max_syn_backlog
>>> echo 1000 > /proc/sys/net/core/netdev_max_backlog
>>> echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
>>> echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
>>> 
>>> cola ai o /proc/interrupts
>>> 
>>> Juliano
>>> 
>>> Em 10/02/12 12:51, Alberto Freire escreveu:
>>>> Não teria uma forma de "forçar" um melhor desempenho com alguma espécie de tunning?
>>>> 
>>>> 
>>>> Abraços,
>>>> 
>>>> Em 10-02-2012 10:23, Juliano Primavesi | KingHost escreveu:
>>>>> cara, essa placa é mto ruim mesmo
>>>>> uma placa boa, no ethtool -g aceita buffer de pelo menos 4096 em rx e tx 
>>>> 
>>> -- 
>>> gter list    https://eng.registro.br/mailman/listinfo/gter
>>> 
>> 
> --
> gter list    https://eng.registro.br/mailman/listinfo/gter



More information about the gter mailing list