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