Hi Jens, On Fri, Apr 28, 2017 at 07:42:05AM -0600, Jens Axboe wrote: > On 04/28/2017 01:32 AM, Ming Lei wrote: > > We have freezed queue already, not necessary to call > > blk_mq_quiesce_queue() any more, so remove it. > > Are you sure? It ensures that we also aren't in the middle of > blk_mq_make_request(), we need a stable view of the sched > status throughout that. After blk_mq_freeze_queue() returned, no requests belonging to this queue can be in use, so there shouldn't be any .queue_rq() running for this queue. Or you mean any .queue_rq()(even not belongs to this queue) can't be running during mq scheduler switch? If yes, per-hctx srcu can't guarantee that too for BLOCKING case. Thanks, Ming