Re: [PATCH 11/13] blk-mq: allow the driver to pass in an affinity mask

From: Christoph Hellwig
Date: Sat Jul 09 2016 - 23:41:54 EST


On Mon, Jul 04, 2016 at 11:35:28AM +0200, Alexander Gordeev wrote:
> > mq_map is initialized to zero already, so we don't really need the
> > assignment for queue 0. The reason why this check exists is because
> > we start with queue = -1 and we never want to assignment -1 to mq_map.
>
> Would this read better then?
>
> int queue = 0;
>
> ...
>
> /* If cpus are offline, map them to first hctx */
> for_each_online_cpu(cpu) {
> set->mq_map[cpu] = queue;
> if (cpumask_test_cpu(cpu, affinity_mask))
> queue++;

It would read better, but I don't think it's actually correct.
We'd still assign the 'old' queue to the cpu that is set in the affinity
mask.