qemu-e2k/contrib
Stefan Hajnoczi ea1b802ca2 libvhost-user: implement VHOST_USER_PROTOCOL_F_MQ
Existing vhost-user device backends, including vhost-user-scsi and
vhost-user-blk, support multiqueue but libvhost-user currently does not
advertise this.

VHOST_USER_PROTOCOL_F_MQ enables the VHOST_USER_GET_QUEUE_NUM request
needed for a vhost-user master to query the number of queues.  For
example, QEMU's vhost-user-net master depends on
VHOST_USER_PROTOCOL_F_MQ for multiqueue.

If you're wondering how any device backend with more than one virtqueue
functions today, it's because device types with a fixed number of
virtqueues do not require querying the number of queues.  Therefore the
vhost-user master for vhost-user-input with 2 virtqueues, for example,
doesn't actually depend on VHOST_USER_PROTOCOL_F_MQ.  It just enables
virtqueues 0 and 1 without asking.

Let there be multiqueue!

Suggested-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20190626074815.19994-4-stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-07-04 17:00:32 -04:00
..
elf2dmp Clean up a few header guard symbols 2019-06-12 13:20:20 +02:00
gitdm contrib: gitdm: add a mapping for Janus Technologies 2019-03-12 19:31:29 +00:00
ivshmem-client Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
ivshmem-server Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
libvhost-user libvhost-user: implement VHOST_USER_PROTOCOL_F_MQ 2019-07-04 17:00:32 -04:00
rdmacm-mux Use #include "..." for our own headers, <...> for others 2019-05-13 08:58:55 +02:00
systemd contrib: add systemd unit files 2017-12-20 22:29:26 +01:00
vhost-user-blk libvhost-user: support many virtqueues 2019-07-04 17:00:32 -04:00
vhost-user-gpu libvhost-user: support many virtqueues 2019-07-04 17:00:32 -04:00
vhost-user-input libvhost-user: support many virtqueues 2019-07-04 17:00:32 -04:00
vhost-user-scsi libvhost-user: support many virtqueues 2019-07-04 17:00:32 -04:00