[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <66eea7dc-48b9-43b9-ab3c-1c9c8a00fcac@linux.ibm.com>
Date: Wed, 10 Sep 2025 15:35:55 +0530
From: Nilay Shroff <nilay@...ux.ibm.com>
To: Yu Kuai <yukuai1@...weicloud.com>, axboe@...nel.dk, ming.lei@...hat.com
Cc: linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
yukuai3@...wei.com, yi.zhang@...wei.com, yangerkun@...wei.com,
johnny.chenyi@...wei.com
Subject: Re: [PATCH v2 for-6.18/block 04/10] blk-mq: convert to serialize
updating nr_requests with update_nr_hwq_lock
On 9/10/25 1:34 PM, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@...wei.com>
>
> request_queue->nr_requests can be changed by:
>
> a) switch elevator by updating nr_hw_queues
> b) switch elevator by elevator sysfs attribute
> c) configue queue sysfs attribute nr_requests
>
> Current lock order is:
>
> 1) update_nr_hwq_lock, case a,b
> 2) freeze_queue
> 3) elevator_lock, case a,b,c
>
> And update nr_requests is seriablized by elevator_lock() already,
> however, in the case c, we'll have to allocate new sched_tags if
> nr_requests grow, and do this with elevator_lock held and queue
> freezed has the risk of deadlock.
>
> Hence use update_nr_hwq_lock instead, make it possible to allocate
> memory if tags grow, meanwhile also prevent nr_requests to be changed
> concurrently.
>
> Signed-off-by: Yu Kuai <yukuai3@...wei.com>
Looks good to me:
Reviewed-by: Nilay Shroff <nilay@...ux.ibm.com>
Powered by blists - more mailing lists