On Wed, 24 Feb 2016 17:14:43 +0300 Ilya Maximets <i.maxim...@samsung.com> wrote:
> Currently virtio driver in guest operating system have to be configured > to use exactly same number of queues. If number of queues will be less, > some packets will get stuck in queues unused by guest and will not be > received. > > Fix that by using new 'vring_state_changed' callback, which is > available for vhost-user since DPDK 2.2. > Implementation uses additional mapping from configured tx queues to > enabled by virtio driver. This requires mandatory locking of TX queues > in __netdev_dpdk_vhost_send(), but this locking was almost always anyway > because of calling set_multiq with n_txq = 'ovs_numa_get_n_cores() + 1'. > > OVS_VHOST_MAX_QUEUE_NUM = 1024 chosen based on the fact that this is > the maximum number of queues supported by QEMU. > > Fixes: 4573fbd38fa1 ("netdev-dpdk: Add vhost-user multiqueue support") > Signed-off-by: Ilya Maximets <i.maxim...@samsung.com> > --- > > version 4: > * VHOST_MAX_QUEUE_PAIRS replaced with OVS_VHOST_MAX_QUEUE_NUM > > version 3: > * Fixed size in dpdk_rte_mzalloc() for enabled_queues. > * Fixed possible segfault because of unallocated tx_q[]. > * Added remap of tx queues after real_n_txq modification > in netdev_dpdk_vhost_set_queues(). > > lib/netdev-dpdk.c | 114 > +++++++++++++++++++++++++++++++++++++++++++++++------- > 1 file changed, 99 insertions(+), 15 deletions(-) > Acked-by: Flavio Leitner <f...@sysclose.org> It would be great if this gets applied to branch-2.5 as well. Thanks Ilya! -- fbl _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev