On Mon, Aug 21, 2017 at 03:49:51PM +0200, Laurent Vivier wrote: > cpumask is the list of CPUs present when the queue is built. > If a new CPU is hotplugged, this list is not updated, > and when the scheduler asks for a CPU id, blk_mq_hctx_next_cpu() > can return WORK_CPU_UNBOUND. > And in this case _blk_mq_run_hw_queue() can be executed by the new CPU > (that is not present in cpumask) and raises the following warning: > > WARN_ON(!cpumask_test_cpu(raw_smp_processor_id(), hctx->cpumask) && > cpu_online(hctx->next_cpu)); > > To fix this problem, this patch modifies blk_mq_hctx_next_cpu() > to only return a CPU id present in cpumask. So, this one isn't needed either. Thanks. -- tejun