vmxnet3 multiqueue suporte na estação de trabalho vmware

1

Estou trabalhando em um aplicativo baseado em RSS multiqueue (recebo dimensionamento paralelo) e testando-o em vmware workstation, mas descobri que vmxnet3 nic tem problemas com RSS.

Minha máquina virtual linux tem 4 vCPUs, e vmxnet3 tem 4 filas rx, mas o pacote sempre chegou na fila0, a fila1 na fila3 está sempre ociosa. Eu tentei uma versão diferente do linux / workstation, mas obtive o mesmo resultado. O que tentei foram: wind river linux 4.3 + estação de trabalho 10, centos6 + workstation10 e ceotos7 + workstation11, e tentei várias versões do driver vmxnet3: vmtools-8.8.4, vmtools-9.6.0, vmtools-9.9.0 e driver centos7 vmxnet3.

O multiqua (recebe dimensionamento paralelo) funciona na estação de trabalho vmware?

a seguir estão algumas mensagens do meu driver vmxnet3 modificado (print rss config ao testar o dispositivo e imprimir rx desc ao receber pacotes):

vmxnet3 0000: 13: 00.0 eth2: intr tipo 3, modo 0, 5 vetores alocados

---------- eth2 rss config: hashType = 0xf rx_queues = 4

vmxnet3 0000: 13: 00.0 eth2: o link do NIC está acima de 10000 Mbps

vmxnet3 0000: 03: 00.0 eth0: intr tipo 3, modo 0, 5 vetores alocados

---------- eth0 rss config: hashType = 0xf rx_queues = 4

vmxnet3 0000: 03: 00.0 eth0: o link do NIC está acima de 10000 Mbps

vmxnet3 0000: 0b: 00.0 eth1: intr tipo 3, modo 0, 5 vetores alocados

---------- eth1 rss config: hashType = 0xf rx_queues = 4

vmxnet3 0000: 0b: 00.0 eth1: o link do NIC está acima de 10000 Mbps

eth0-rxtx-0: rssType = 0 rqID = 0 rssHash = 0x0 (0) v4 = 1 v6 = 0 tcp = 0 udp = 1 tuc = 1 cnc = 0 ipc = 1

eth0-rxtx-0: rssType = 0 rqID = 0 rssHash = 0x0 (0) v4 = 1 v6 = 0 tcp = 0 udp = 1 tuc = 1 cnc = 0 ipc = 1

...... mesmas mensagens, os pacotes sempre chegam ao eth0-rxtx-0, mesmo se eu mudei o endereço IP.

Obrigado!

    
por wuyabiao 10.12.2014 / 03:56

1 resposta

1

Há um artigo da base de conhecimento sobre esse tópico exato - link (e acredito que foi escrito por VMware em resposta ao seu pedido). O essencial é:

Receber escalonamento lateral (RSS) e suporte multiquadro estão incluídos no driver de dispositivo Linux VMXNET3. O dispositivo VMXNET3 sempre suportava várias filas, mas o driver do Linux usava uma fila Rx e uma Tx anteriormente.

  • Para o driver VMXNET3 fornecido com o VMware Tools, o suporte multiquadro foi introduzido no vSphere 5.0.
  • Para o driver VMXNET3 incluído no sistema operacional Linux, o suporte para multicamada foi introduzido após incluir a versão 2.6.37 do kernel do Linux.

As versões recentes do VMware Tools têm o multiroteio ativado por padrão. No entanto, em versões anteriores, você deve ativar manualmente o multisuporte. Isso pode ser feito usando o modprobe para definir o número de filas de transmissão e de recebimento para cada adaptador.

    
por 16.06.2016 / 00:39