[C] [PATCH 1/2] block: avoid setting nr_requests to current value

Kai-Heng Feng kai.heng.feng at canonical.com
Wed Apr 24 10:23:30 UTC 2019


From: Aleksei Zakharov <zakharov.a.g at yandex.ru>

BugLink: https://bugs.launchpad.net/bugs/1815733

There's no reason to freeze queue and set nr_requests value
if current value is the same.

Signed-off-by: Aleksei Zakharov <zakharov.a.g at yandex.ru>
Signed-off-by: Jens Axboe <axboe at kernel.dk>
(cherry picked from commit e5fa81408fb43ebabde65938ef8b20ae879017e7)
Signed-off-by: Kai-Heng Feng <kai.heng.feng at canonical.com>
---
 block/blk-mq.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/block/blk-mq.c b/block/blk-mq.c
index 90e8058ae557..6645dcecc9ff 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -2816,6 +2816,9 @@ int blk_mq_update_nr_requests(struct request_queue *q, unsigned int nr)
 	if (!set)
 		return -EINVAL;
 
+	if (q->nr_requests == nr)
+		return 0;
+
 	blk_mq_freeze_queue(q);
 	blk_mq_quiesce_queue(q);
 
-- 
2.17.1




More information about the kernel-team mailing list