Re: [PATCH 2/2] x86_64 irq: Only look at per_cpu data for online cpus.
From: Muli Ben-Yehuda
Date: Mon Oct 23 2006 - 04:15:12 EST
On Sun, Oct 22, 2006 at 10:35:34PM -0600, Eric W. Biederman wrote:
>
> When I generalized __assign_irq_vector I failed to pay attention
> to what happens when you access a per cpu data structure for
> a cpu that is not online. It is an undefined case making any
> code that does it have undefined behavior as well.
>
> The code still needs to be able to allocate a vector across cpus
> that are not online to properly handle combinations like lowest
> priority interrupt delivery and cpu_hotplug. Not that we can do
> that today but the infrastructure shouldn't prevent it.
>
> So this patch updates the places where we touch per cpu data
> to only touch online cpus, it makes cpu vector allocation
> an atomic operation with respect to cpu hotplug, and it updates
> the cpu start code to properly initialize vector_irq so we
> don't have inconsistencies.
>
> Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
I tried 1/2 and 2/2 at the same time and it booted, so good work :-)
I'm stressing the machine a little now, will let you know if anything
out of the ordinary comes up.
Acked-by: Muli Ben-Yehuda <muli@xxxxxxxxxx>
Cheers,
Muli
-
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/