On Wed, Dec 18, 2024 at 07:35:36PM +0530, Nilay Shroff wrote: > One simple way I could think of would be updating queue_limit_xxx() APIs and > then use it, > > queue_limits_start_update(struct request_queue *q, bool freeze) > { > ... > mutex_lock(&q->limits_lock); > if(freeze) > blk_mq_freeze_queue(q); > ... Conditional locking (and the freeze sort of is a lock) is always a bad idea. But we can do a lower level no-free API or this use case.