Re: [PATCH 3/4] blk-mq: establish new mapping before cpu starts handling requests

From: Akinobu Mita
Date: Wed Jun 24 2015 - 10:34:14 EST


Hi Ming,

2015-06-24 18:46 GMT+09:00 Ming Lei <tom.leiming@xxxxxxxxx>:
> On Sun, Jun 21, 2015 at 9:52 PM, Akinobu Mita <akinobu.mita@xxxxxxxxx> wrote:
>> ctx->index_hw is zero for the CPUs which have never been onlined since
>> the block queue was initialized. If one of those CPUs is hotadded and
>> starts handling request before new mappings are established, pending
>
> Could you explain a bit what the handling request is? The fact is that
> blk_mq_queue_reinit() is run after all queues are put into freezing.

Notifier callbacks for CPU_ONLINE action can be run on the other CPU
than the CPU which was just onlined. So it is possible for the
process running on the just onlined CPU to insert request and run
hw queue before blk_mq_queue_reinit_notify() is actually called with
action=CPU_ONLINE.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/