[GTER] Ethernet Hyper Threading...

Lucas Willian Bocchi lucas.bocchi at gmail.com
Thu Sep 6 16:08:43 -03 2012


Em 6 de setembro de 2012 15:13, Henrique de Moraes Holschuh
<henrique.holschuh at ima.sp.gov.br> escreveu:
> On 06-09-2012 13:20, Lucas Willian Bocchi wrote:
>>
>> Me corrija se eu estiver errado, mas na documentação do Kernel
>> (http://www.mjmwired.net/kernel/Documentation/IRQ-affinity.txt) não
>> encontrei nenhuma referência que as placas necessitem ser MSI/MSI-X
>> para funcionar o balancamento de IRQ, tanto que uso esse recurso a
>> muito tempo e em placas PCI desde que saiu a série 2.6 do kernel.
>
>
> Como eu disse, em MSI só round-robin dentro da mascara de affinity, e é
> só um vetor por placa (problema do Linux, não do MSI.  Pode ser que
> FreeBSD consiga alocar um bloco maior de MSIs).  Se enviar o trabalho
> via soft-irq para outros cores, vai ter um custo nada pequeno da IPI,
> fora risco maior de causar flush de TLB e os assuntos de cache.
>
>
>> Que eu sabia a questão do MSI-X serve para fazer Receive Size
>> Scaling, no qual você tem os recursos de multiqueue e que você pode
>
>
> MSI-X de cara vai separar interrupções de gerenciamento das interrupções
> das filas de TX/RX, ou dependendo do NIC, de TX e RX separadamente, e já
> vai entregar isso em cores diferentes.  Depende do driver o que é
> mapeado por padrão para cada fila de RX quando não há configuração
> explícita (RSS, etc).
>

Não fez isso no meu kernelo 3.5.3 Henrique.
Tive que fazer um shell script pra jogar nos cores. Pelo menos não
aparecia antes de rodar o script assim da forma separada que eu te
mandei.


> Não lembro se dá para escalar quase-linearmente a comutação de pacotes
> com o número de cores sem usar MSI-X.  Algo me diz que não.
>
>
>> Tenho os dois exemplos para citar
>>
>> 127:          2          0          0          0          8 0 0 0
>> IR-PCI-MSI-edge      eth4-0 128:     277818          0 0 175031325
>> 0 85584          0          0  IR-PCI-MSI-edge eth4-1 129:    1313843
>> 0  254801505          0          0 0 0     380766  IR-PCI-MSI-edge
>> eth4-2 130:     297185          0 0          0      86806 0
>> 0  170717410  IR-PCI-MSI-edge eth4-3 131:     302735          0
>> 0          0          0 556734022          0      79142
>> IR-PCI-MSI-edge      eth4-4
>
> (desculpe, o thunderbird destruiu a formatação)
>
> Isso aí é MSI-X.  Se fosse MSI, ia ter uma só interrupção para a placa
> de rede inteira, e só poderia entregar em vários cores ou via
> round-robin, ou via softirq para outro core (que resulta em queda de
> performance comparado ao MSI-X, e pode até resultar em queda de
> performance comparado a round-robin no APIC/IOMMU).
>
> O kernel escreve PCI-MSI porque é um chato.  Vai ver não aprovaram o
> patch para diferenciar MSI e MSIX se o 3.5 ainda está escrevendo MSI :-)
>  O lspci -v que você postou comprova que é MSI-X.

Sim, no primeiro caso. Mas depois na 3com que é pci você pode ver que
ele vai pro segundo core da máquina mesmo sendo uma placa PCI.


>
> É possível ter várias MSI por dispositivo (sempre foi, o Linux que nunca
> implementou).  Isso não está disponível em kernel normal e é de
> utilidade discutível (estão exatamente discutindo isso para o AHCI :p).
>
>> driver: 3c59x
>
>
> Vade Retro!
>

esse mesmo hehehehehe
Tem coisas que só a Philco faz pra vc.

>
> --
> Henrique de Moraes Holschuh <hmh at ima.sp.gov.br>
> IM@ - Informática de Municípios Associados
> Engenharia de Telecomunicações
> TEL +55-19-3755-6555/CEL +55-19-9293-9464
>
> Antes de imprimir, lembre-se de seu compromisso com o Meio Ambiente
> e do custo que você pode evitar.
> --
> gter list    https://eng.registro.br/mailman/listinfo/gter



More information about the gter mailing list