Como definir a fila Rx = N no Linux/no Qemu/KVM?

Como definir a fila Rx = N no Linux/no Qemu/KVM?

Configurei 8 filas múltiplas em minha caixa CentOS VM (executando em KVM).

<interface type='direct' trustGuestRxFilters='yes'>
  <source dev='ens113f0' mode='passthrough'/>
  <model type='virtio'/>
  <driver name='vhost' queues='8'/>
</interface>

Posso encontrar 8 filas criadas na VM usando ethtool.

[centos@vm ~]$ ethtool -l eth1
Channel parameters for eth1:
Pre-set maximums:
RX:     0
TX:     0
Other:      0
Combined:   8
Current hardware settings:
RX:     0
TX:     0
Other:      0
Combined:   4

Agora, eu queria restringir 1 fila RX e 2 filas TX para meu aplicativo DPDK. Estou tentando definir o mesmo usando ethtool, mas está gerando o erro abaixo:

[centos@vm ~]$ sudo ethtool -L eth1 rx 1 tx 2
Cannot set device channel parameters: Invalid argument

Posso definir filas combinadas = 2, mas não filas RX/TX específicas.

[centos@vm ~]$ sudo ethtool -L eth1 combined 2
[centos@vm ~]$ ethtool -l eth1
Channel parameters for eth1:
Pre-set maximums:
RX:     0
TX:     0
Other:      0
Combined:   8
Current hardware settings:
RX:     0
TX:     0
Other:      0
Combined:   2

Algum motivo/justificativa para isso??

Existe alguma outra maneira de definir filas RX e filas TX no Linux?

Existe alguma maneira de especificar o tamanho das filas RX e TX no comando libvirt XML/Qemu? Pesquisei no Google antes de postar esta pergunta, mas não consegui encontrar nada.

Obrigado.

Responder1

A configuração do DPDK RX-TX é controlada usando rte_eth_dev_configure. Portanto, só faz sentido vincular a NIC igb_uio, uio_pci_generic or vfio-pcie executar a API de configuração com o número adequado de filas RX e TX. A configuração do ethtool está incorreta para a porta DPDK.

informação relacionada