Thread (14 messages) flat view 14 messages, 5 authors, 2015-12-15

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

From: Ming Lei <hidden>
Date: 2014-06-17 15:51:02
Also in: lkml

On Tue, Jun 17, 2014 at 10:40 AM, Stefan Hajnoczi [off-list ref] wrote:
On Sat, Jun 14, 2014 at 1:29 AM, Ming Lei [off-list ref] wrote:
quoted
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 <redacted>
---
 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.
virtio-scsi may have lots of LUN, but virtio-blk only has one disk
which needn't lots of hardware queues.

Also it doesn't matter since it isn't part of ABI.

If change on virtio_blk_config is agreed, both host side and
guest side can choose to support dynamic length or pre-defined
length freely.

Thanks,
--
Ming Lei
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help