[ovs-dev] Multiqueue in vhost using OVS-DPDK

Ian Stokes ian.stokes at intel.com
Wed Jul 11 18:23:51 UTC 2018


On 7/11/2018 7:02 PM, Ravi Kerur wrote:
> Hello OVS-DPDK team,
> 
> I am using OVS 2.9.90 for my vhost-virtio testing and had some questions on
> vhost multiqueue support, it doesn't seem to be working correctly. Kindly
> let me know if multiqueue is supported? I am using following link as a
> reference.
> 
> https://software.intel.com/en-us/articles/configure-vhost-user-multiqueue-for-ovs-with-dpdk
> 

Hi Ravi, that document was wrote for OVS 2.5 and DPDK 2.2. There have 
been a number of changes since then. I'll need to update it.

I would suggest following the ovs docs

http://docs.openvswitch.org/en/latest/topics/dpdk/vhost-user/#adding-vhost-user-ports-to-the-guest-qemu

specifically the section for multi queue as it describes the options 
required.

> ovs-vswitchd --version
> ovs-vswitchd (Open vSwitch) 2.9.90
> DPDK 17.11.2
> ovs-vsctl get Open_vSwitch . dpdk_version
> "DPDK 17.11.2"
> ovs-vsctl get Open_vSwitch . dpdk_initialized
> true
> 
> ovs-vsctl set Interface vhost-user-0 options:n_rxq=2
> ovs-vsctl set Interface vhost-user-0 options:n_txq=2
> ovs-vsctl set Interface vhost-user-1 options:n_rxq=2
> ovs-vsctl set Interface vhost-user-1 options:n_txq=2

You do not need to set the number of rxqs for vhost devices now in OVS 
DPDK. This is set automatically when you launch a guest vm.

Txqs are autmatically set by ovs dpdk also (it's the numbers of PMDs in 
the core mask +1) so no need to set it here.

You only need to set the number of rxqs if you were using multiple ports 
on a physical dpdk port.

Ian
> 
> I see following messages in openvswitch logs
> 2018-07-11T17:13:54.644Z|00210|netdev|WARN|vhost-user-1: arguments provided
> to device that is not configurable
> 2018-07-11T17:13:57.514Z|00211|netdev|WARN|vhost-user-0: arguments provided
> to device that is not configurable
> 2018-07-11T17:13:57.514Z|00212|netdev|WARN|vhost-user-1: arguments provided
> to device that is not configurable
> 2018-07-11T17:13:57.516Z|00213|netdev|WARN|vhost-user-0: arguments provided
> to device that is not configurable
> 2018-07-11T17:13:57.516Z|00214|netdev|WARN|vhost-user-1: arguments provided
> to device that is not configurable
> 2018-07-11T17:13:57.517Z|00215|netdev|WARN|vhost-user-0: arguments provided
> to device that is not configurable
> 2018-07-11T17:13:57.517Z|00216|netdev|WARN|vhost-user-1: arguments provided
> to device that is not configurable
> ...
> 
> ovs-appctl dpctl/show
> netdev at ovs-netdev:
>    lookups: hit:89395441 missed:216 lost:0
>    flows: 0
>    port 0: ovs-netdev (tap)
>    port 1: br0 (tap)
>    *port 2: vhost-user-0 (dpdkvhostuser: configured_rx_queues=1,
> configured_tx_queues=1, mtu=9000, requested_rx_queues=1,
> requested_tx_queues=1)*
>    port 3: dpdk-eth0 (dpdk: configured_rx_queues=2,
> configured_rxq_descriptors=1024, configured_tx_queues=5,
> configured_txq_descriptors=1024, lsc_interrupt_mode=false, mtu=9000,
> requested_rx_queues=2, requested_rxq_descriptors=1024,
> requested_tx_queues=5, requested_txq_descriptors=1024,
> rx_csum_offload=false)
>    *port 4: vhost-user-1 (dpdkvhostuser: configured_rx_queues=1,
> configured_tx_queues=1, mtu=9000, requested_rx_queues=1,
> requested_tx_queues=1)*
>    port 5: dpdk-eth1 (dpdk: configured_rx_queues=2,
> configured_rxq_descriptors=1024, configured_tx_queues=5,
> configured_txq_descriptors=1024, lsc_interrupt_mode=false, mtu=9000,
> requested_rx_queues=2, requested_rxq_descriptors=1024,
> requested_tx_queues=5, requested_txq_descriptors=1024,
> rx_csum_offload=false)
>    port 6: br1 (tap)
> 
> Thanks.
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> 



More information about the dev mailing list