On Thu, 2019-04-04 at 00:27 +-0800, Ming Lei wrote: +AD4 blk+AF8-mq+AF8-flush+AF8-plug+AF8-list(): +AD4 blk+AF8-mq+AF8-sched+AF8-insert+AF8-requests() +AD4 insert requests to sw queue or scheduler queue +AD4 blk+AF8-mq+AF8-run+AF8-hw+AF8-queue +AD4 +AD4 Because of concurrent run queue, all requests inserted above may be completed +AD4 before calling the above blk+AF8-mq+AF8-run+AF8-hw+AF8-queue. Then queue can be freed +AD4 during the above blk+AF8-mq+AF8-run+AF8-hw+AF8-queue(). Thanks for the clarification. That makes sense to me. Bart.