From: Rusty Russell <rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
To: Jens Axboe <axboe-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
"Michael S. Tsirkin"
<mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Stefan Hajnoczi
<stefanha-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Paolo Bonzini <pbonzini-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Ming Lei <ming.lei-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
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 [thread overview]
Message-ID: <87a99dnhyt.fsf@rustcorp.com.au> (raw)
In-Reply-To: <1402680562-8328-2-git-send-email-ming.lei-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
Ming Lei <ming.lei-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org> 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-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
> ---
> 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.
WARNING: multiple messages have this Message-ID (diff)
From: Rusty Russell <rusty@rustcorp.com.au>
To: Ming Lei <ming.lei@canonical.com>, Jens Axboe <axboe@kernel.dk>,
linux-kernel@vger.kernel.org
Cc: linux-api@vger.kernel.org,
virtualization@lists.linux-foundation.org,
"Michael S. Tsirkin" <mst@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Ming Lei <ming.lei@canonical.com>
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 [thread overview]
Message-ID: <87a99dnhyt.fsf@rustcorp.com.au> (raw)
In-Reply-To: <1402680562-8328-2-git-send-email-ming.lei@canonical.com>
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.
next prev parent reply other threads:[~2014-06-16 12:42 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-13 17:29 [RFC PATCH 0/2] block: virtio-blk: support multi vq per virtio-blk Ming Lei
2014-06-13 17:29 ` Ming Lei
2014-06-13 17:29 ` [RFC PATCH 1/2] include/uapi/linux/virtio_blk.h: introduce feature of VIRTIO_BLK_F_MQ Ming Lei
2014-06-13 17:29 ` Ming Lei
2014-06-16 12:42 ` Rusty Russell
[not found] ` <1402680562-8328-2-git-send-email-ming.lei-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
2014-06-16 12:42 ` Rusty Russell [this message]
2014-06-16 12:42 ` Rusty Russell
2014-06-13 17:29 ` [RFC PATCH 2/2] block: virtio-blk: support multi virt queues per virtio-blk device Ming Lei
2014-06-13 17:29 ` Ming Lei
[not found] ` <1402680562-8328-3-git-send-email-ming.lei-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
2014-06-16 12:47 ` Rusty Russell
2014-06-16 12:47 ` Rusty Russell
2014-06-16 12:47 ` Rusty Russell
2014-06-17 2:40 ` Stefan Hajnoczi
2014-06-17 2:40 ` Stefan Hajnoczi
2014-06-17 15:50 ` Ming Lei
[not found] ` <CAJSP0QWaS--gPZ=ONFrXby1DQLw4R0RCro7bpHCdmucyjmqT_w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-17 15:50 ` Ming Lei
2014-06-17 15:50 ` Ming Lei
2014-06-17 15:53 ` Paolo Bonzini
2014-06-17 15:53 ` Paolo Bonzini
2014-06-17 16:00 ` Ming Lei
2014-06-17 16:00 ` Ming Lei
2014-06-17 16:34 ` Paolo Bonzini
2014-06-17 16:34 ` Paolo Bonzini
[not found] ` <53A06E05.9060708-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-06-18 4:04 ` Ming Lei
2014-06-18 4:04 ` Ming Lei
2015-12-14 10:31 ` Paolo Bonzini
[not found] ` <CACVXFVMkV5R5GUjM7Y-U54SA-ENZZ26dbbv4K2_OYPdmmiuUqg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-14 10:31 ` Paolo Bonzini
2015-12-14 10:31 ` Paolo Bonzini
[not found] ` <566E9A7E.3030203-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-15 1:26 ` Ming Lei
2015-12-15 1:26 ` Ming Lei
2015-12-15 1:26 ` Ming Lei
2014-06-18 4:04 ` Ming Lei
2014-06-13 17:35 ` [RFC PATCH 0/2] block: virtio-blk: support multi vq per virtio-blk Jens Axboe
2014-06-13 17:35 ` Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a99dnhyt.fsf@rustcorp.com.au \
--to=rusty-8n+1lvoiyb80n/f98k4iww@public.gmane.org \
--cc=axboe-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org \
--cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=ming.lei-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org \
--cc=mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=pbonzini-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=stefanha-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.