Messages in this thread | | | From | Rusty Russell <> | Subject | Re: [RFC PATCH 1/2] include/uapi/linux/virtio_blk.h: introduce feature of VIRTIO_BLK_F_MQ | Date | Mon, 16 Jun 2014 22:12:50 +0930 |
| |
Ming Lei <ming.lei@canonical.com> writes: > Current virtio-blk spec only supports one virtual queue for transfering > data between VM and host, and inside VM all kinds of operations on > the virtual queue needs to hold one lock, so cause below problems: > > - no scalability > - bad throughput > > So this patch requests to introduce feature of VIRTIO_BLK_F_MQ > so that more than one virtual queues can be used to virtio-blk > device, then above problems can be solved or eased. > > Signed-off-by: Ming Lei <ming.lei@canonical.com> > --- > include/uapi/linux/virtio_blk.h | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/include/uapi/linux/virtio_blk.h b/include/uapi/linux/virtio_blk.h > index 6d8e61c..c5a2751 100644 > --- a/include/uapi/linux/virtio_blk.h > +++ b/include/uapi/linux/virtio_blk.h > @@ -40,6 +40,7 @@ > #define VIRTIO_BLK_F_WCE 9 /* Writeback mode enabled after reset */ > #define VIRTIO_BLK_F_TOPOLOGY 10 /* Topology information is available */ > #define VIRTIO_BLK_F_CONFIG_WCE 11 /* Writeback mode available in config */ > +#define VIRTIO_BLK_F_MQ 12 /* support more than one vq */ > > #ifndef __KERNEL__ > /* Old (deprecated) name for VIRTIO_BLK_F_WCE. */ > @@ -77,6 +78,9 @@ struct virtio_blk_config { > > /* writeback mode (if VIRTIO_BLK_F_CONFIG_WCE) */ > __u8 wce; > + > + /* number of vqs, only available when VIRTIO_BLK_F_MQ is set */ > + __u16 num_queues; > } __attribute__((packed));
Hmm, please pad this like so:
__u8 unused;
__u16 num_queues;
That avoids weird alignment.
Thanks, Rusty.
| |