Vhost-user will implement the multi queue support in a similar way to what vhost already has - a separate thread for each queue. To enable the multi queue functionality - a new command line parameter "queues" is introduced for the vhost-user netdev.
Use new message VHOST_USER_SET_VRING_FLAG to enable and disable an actual virt queue, which is similar to attach/detach queue for tap device. virtio driver on guest doesn't have to use max virt queue pair, it could enable any number of virt queue ranging from 1 to max virt queue pair. It requires that VHOST_USER_F_PROTOCOL_FEATURES is present. Any comment is welcome for the patch set. It has dependency on a few other patch(set): "vhost-user: protocol updates" series proposed earlier by Michael S. Tsirkin RESET_OWNER change is based on commit: 294ce717e0f212ed0763307f3eab72b4a1bdf4d0 Changchun Ouyang (2): vhost-user: add multi queue support vhost-user: new protocol feature for multi queue docs/specs/vhost-user.txt | 24 +++++++++++++++++++- hw/net/vhost_net.c | 21 +++++++++++++++++- hw/net/virtio-net.c | 2 ++ hw/virtio/vhost-user.c | 46 ++++++++++++++++++++++++++++++++++++--- include/hw/virtio/vhost-backend.h | 2 ++ include/net/vhost_net.h | 1 + net/vhost-user.c | 37 ++++++++++++++++++++----------- qapi-schema.json | 6 ++++- qemu-options.hx | 5 +++-- 9 files changed, 123 insertions(+), 21 deletions(-) -- 1.8.4.2