On Thu, Jul 20, 2023 at 08:44:52AM -0700, Bart Van Assche wrote: > blk_mq_run_hw_queue(hctx, false) is called from inside the block layer > with an RCU lock held if BLK_MQ_F_BLOCKING and with an SRCU lock held if > BLK_MQ_F_BLOCKING is not set. So I'm not sure whether it is possible to > simplify the above might_sleep_if() statement. From block/blk-mq.h: Ok, it looks like we can't go down that way then.