[RFC PATCH 2/2] block: virtio-blk: support multi virt queues per virtio-blk device

Stefan Hajnoczi
2014-06-17T02:40:56Z

On Sat, Jun 14, 2014 at 1:29 AM, Ming Lei <ming.lei at canonical.com>
wrote:
> Firstly this patch supports more than one virtual queues for virtio-blk
> device.
>
> Secondly this patch maps the virtual queue to blk-mq's hardware queue.
>
> With this approach, both scalability and performance problem can be
improved.
>
> Signed-off-by: Ming Lei <ming.lei at canonical.com>
> ---
>  drivers/block/virtio_blk.c |   75
++++++++++++++++++++++++++++++++------------
>  1 file changed, 55 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
> index f63d358..e0d077d 100644
> --- a/drivers/block/virtio_blk.c
> +++ b/drivers/block/virtio_blk.c
> @@ -16,6 +16,8 @@
>
>  #define PART_BITS 4
>
> +#define MAX_NUM_VQ 16

It would be nice to allocate virtqueues dynamically instead of
hardcoding the limit.  virtio-scsi also allocates virtqueues
dynamically.

Stefan