[GTER] RES: Quagga
Luiz Otavio O Souza
luiz at visualconnect.com.br
Wed Apr 1 09:01:59 -03 2009
>
> Entretanto, Juliano, Quando você distribui as interrupções, o processo de
> salvar o contexto impacta imensamente na performance, fora detalhes como
> cache de código.
>
> Travando o affinity a performance é muito superior.
Pina,
Os context switchs vão acontecer com e sem affinity de CPU... Para você ter
uma idéia no FreeBSD você tem no mínimo 2000 context switcs por segundo (com
HZ=1000) fora aqueles que são gerados para atender as interrupções (como a
de rede por ex.) e o custo dos context switchs foram minimizados para o
impacto ser pequeno, mas na verdade, não existe sistema multitarefa sem
isso.
No FreeBSD eu posso dizer que fazer o affinity para atendimento de irqs da
placas rede não muda muito (se é que muda alguma coisa)... Cada driver
implementa a recepção de uma forma... alguns recebem efetivamente o pacote
quando a interrupção é disparada, mas a maioria dos drivers novos (1g e 10g)
apenas sinalizam o hardware com o ack da interrupção (que vai liberar o
hardware para receber mais dados) e disparam um outro processo que vai
realmente fazer a leitura dos dados recebidos pela placa (uma especie de
polling).
O importante Pina é a integração entre todos os subsistemas, não adianta
priorizar uma coisa que depende de muitas outras...
Ainda esses tempo o Sam Leffler do FreBSD comentou que o pessoal do Linux
quase sempre chega querendo mudar o "sistema" de recepção de rede no FreeBSD
ala Linux... a maioria (senão todos) desistem depois de fazer testes no
FreeBSD, o network stack é tão bem integrado que mesmo nessa loucura de SMP
o resultado acaba sendo no mínimo o mesmo senão superior a qualquer outro
"approach".
Claro que isso é diferente em roteadores dedicados, onde você pode ter
quantas cpus precisar, dedicar elas para cada função e assim por diante, bem
diferente de um S.O. feito para funcionar com qualquer coisa.
[]'s
Luiz
PS: Se no Linux a performance é melhor eu realmente não sei e não posso
dizer...
More information about the gter
mailing list