From: Aleksei Zakharov Date: Wed, 24 Apr 2019 10:23:29 +0000 (+0800) Subject: block: avoid setting nr_requests to current value X-Git-Tag: Ubuntu-4.15.0-51.55~30 X-Git-Url: https://git.proxmox.com/?p=mirror_ubuntu-bionic-kernel.git;a=commitdiff_plain;h=ac99bae94f02525332430d4cc27e579a21f10c18 block: avoid setting nr_requests to current value 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 Signed-off-by: Jens Axboe (backported from commit e5fa81408fb43ebabde65938ef8b20ae879017e7) Signed-off-by: Kai-Heng Feng Acked-by: Kleber Souza Acked-by: AceLan Kao Signed-off-by: Khalid Elmously --- diff --git a/block/blk-mq.c b/block/blk-mq.c index 2f8436314985..67a80fd597e1 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -2792,6 +2792,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); ret = 0;