Re: [PATCH v3 1/1] virtio-blk: add num_request_queues module parameter
From: Max Gurtovoy <mgurtovoy@nvidia.com>
Date: 2021-09-05 11:17:10
Also in:
linux-block
On 9/5/2021 1:19 PM, Leon Romanovsky wrote:
On Sun, Sep 05, 2021 at 12:19:09PM +0300, Max Gurtovoy wrote:quoted
On 9/5/2021 11:49 AM, Chaitanya Kulkarni wrote:quoted
On 9/5/2021 12:46 AM, Leon Romanovsky wrote:quoted
quoted
+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. ThanksWithout looking into the code, that can be done adding a configfs interface and overriding a global value (module param) when it is set from configfs.You have many ways to overcome this issue. For example: # ls -l /sys/block/vda/mq/ drwxr-xr-x 18 root root 0 Sep 5 12:14 0 drwxr-xr-x 18 root root 0 Sep 5 12:14 1 drwxr-xr-x 18 root root 0 Sep 5 12:14 2 drwxr-xr-x 18 root root 0 Sep 5 12:14 3 # echo virtio0 > /sys/bus/virtio/drivers/virtio_blk/unbind # echo 8 > /sys/module/virtio_blk/parameters/num_request_queuesThis is global to all virtio-blk devices.
You define a global module param but you bind/unbind a specific device. Do you have a better way to control it ? if the device is already probed, it's too late to change the queue_num.
quoted
# echo virtio0 > /sys/bus/virtio/drivers/virtio_blk/bind # ls -l /sys/block/vda/mq/ drwxr-xr-x 10 root root 0 Sep 5 12:17 0 drwxr-xr-x 10 root root 0 Sep 5 12:17 1 drwxr-xr-x 10 root root 0 Sep 5 12:17 2 drwxr-xr-x 10 root root 0 Sep 5 12:17 3 drwxr-xr-x 10 root root 0 Sep 5 12:17 4 drwxr-xr-x 10 root root 0 Sep 5 12:17 5 drwxr-xr-x 10 root root 0 Sep 5 12:17 6 drwxr-xr-x 10 root root 0 Sep 5 12:17 7 -Max.