RE: [PATCH] x86: Add check for number of available vectors beforeCPU down

From: Yu, Fenghua
Date: Tue Dec 03 2013 - 18:43:05 EST




> -----Original Message-----
> From: Prarit Bhargava [mailto:prarit@xxxxxxxxxx]
>
> Second try at this ...
>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=64791
>
> When a cpu is downed on a system, the irqs on the cpu are assigned to
> other cpus. It is possible, however, that when a cpu is downed there
> aren't enough free vectors on the remaining cpus to account for the
> vectors from the cpu that is being downed.
>
> This results in an interesting "overflow" condition where irqs are
> "assigned" to a CPU but are not handled.
>
> For example, when downing cpus on a 1-64 logical processor system:
>
> + if (per_cpu(vector_irq, cpu)[vector] < 0)
> + count++;

But later on fixup_irqs will set some of vector_irq vector as -1 on this
to-be-disabled cpu. That will release vectors assigned to this cpu. So
checking vector_irq at this point before fixup_irqs doesn't make sense, right?

Thanks.

-Fenghua

--
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/