Thread (17 messages) 17 messages, 5 authors, 2021-10-24

Re: [PATCH v3 1/1] virtio-blk: add num_request_queues module parameter

flat view

From: Leon Romanovsky <leon@kernel.org>
Date: 2021-09-05 07:46:38
Also in: kvm, virtualization

On Thu, Sep 02, 2021 at 11:46:22PM +0300, Max Gurtovoy wrote:
quoted hunk ↗ jump to hunk
Sometimes a user would like to control the amount of request queues to
be created for a block device. For example, for limiting the memory
footprint of virtio-blk devices.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com>
---

changes from v2:
 - renamed num_io_queues to num_request_queues (from Stefan)
 - added Reviewed-by signatures (from Stefan and Christoph)

changes from v1:
 - use param_set_uint_minmax (from Christoph)
 - added "Should > 0" to module description

Note: This commit apply on top of Jens's branch for-5.15/drivers

---
 drivers/block/virtio_blk.c | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index 4b49df2dfd23..aaa2833a4734 100644
--- a/drivers/block/virtio_blk.c
+++ b/drivers/block/virtio_blk.c
@@ -24,6 +24,23 @@
 /* The maximum number of sg elements that fit into a virtqueue */
 #define VIRTIO_BLK_MAX_SG_ELEMS 32768
 
+static int virtblk_queue_count_set(const char *val,
+		const struct kernel_param *kp)
+{
+	return param_set_uint_minmax(val, kp, 1, nr_cpu_ids);
+}
+
+static const struct kernel_param_ops queue_count_ops = {
+	.set = virtblk_queue_count_set,
+	.get = param_get_uint,
+};
+
+static unsigned int num_request_queues;
+module_param_cb(num_request_queues, &queue_count_ops, &num_request_queues,
+		0644);
+MODULE_PARM_DESC(num_request_queues,
+		 "Number of request queues to use for blk device. Should > 0");
+
Won't it limit all virtio block devices to the same limit?

It is very common to see multiple virtio-blk devices on the same system
and they probably need different limits.

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