On 2014-06-24 20:42, Ming Lei wrote: > On Tue, Jun 24, 2014 at 10:53 PM, Ming Lei wrote: >> From API view, it isn't good to run all hw queues synchronously >> in one context, since it isn't correct for multi hw queue case. >> >> So this patch adds 'async' parameter to blk_mq_start_hw_queue(), >> and make blk_mq_start_hw_queues() to run hw queues asynchronously >> at default. > > BTW, without the change, it is easy to trigger the WARN_ON() in > __blk_mq_run_hw_queue(). Why not just have it call blk_mq_run_hw_queue()? Pass in async == false, but let the cpumask logic sort out if we need to force an async run. -- Jens Axboe