0

I have configured 8 multiple queues on my CentOS VM box (running on KVM).

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

I can find 8 queues are created on VM using 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

Now, I wanted to restrict 1 RX queue and 2 TX queues for my DPDK application. I am trying to set the same using ethtool but it is throwing below error:

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

I can set combined queues = 2 but not specific RX / TX queues.

[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

Any reason / justification of it??

Is there any other way I can set RX queues and TX queues in linux?

Is there any way I can specify RX & TX queues size in libvirt XML / Qemu command? I googled it before posting this question but couldn't find anything.

Thank you.

  • Try setting the values in your VM settings like this <driver name='vhost' queues='8' rx_queue_size='1' tx_queue_size='2'>. Why do you want to set this to such low valiues? – Lenniey Aug 23 at 9:55
  • Hi Lenniey, rx_queue_size will define ring size of rx queue. I want to specify distinct number of rx queue and tx queue instead of specifying queues=8 which configures 8 rx queues and 8 tx queues. – Brijesh Valera Aug 23 at 10:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.