On Sat, 2017-08-05 at 14:56 +0800, Ming Lei wrote: > + /* > + * Wherever DISPATCH_BUSY is set, blk_mq_run_hw_queue() > + * will be run to try to make progress, so it is always > + * safe to check the state here. > + */ > + if (test_bit(BLK_MQ_S_DISPATCH_BUSY, &hctx->state)) > + return; The comment above test_bit() is useful but does not explain the purpose of the early return. Is the purpose of the early return perhaps to serialize blk_mq_sched_dispatch_requests() calls? If so, please mention this. Thanks, Bart.