Re: [PATCH 2/2] x86_64 irq: Handle irqs pending in IRR during irqmigration.

From: Andrew Morton
Date: Fri Feb 02 2007 - 21:01:39 EST


On Fri, 02 Feb 2007 18:39:15 -0700
ebiederm@xxxxxxxxxxxx (Eric W. Biederman) wrote:

> Andrew Morton <akpm@xxxxxxxx> writes:
>
> > So is this a for-2.6.20 thing? The bug was present in 2.6.19, so
> > I assume it doesn't affect many people?
>
> If it's not to late, and this patch isn't too scary.
>
> It's a really rare set of circumstances that trigger it, but the
> possibility of being hit is pretty widespread, anything with
> more than one cpu, and more then one irq could see this.
>
> The easiest way to trigger this is to have two level triggered irqs on
> two different cpus using the same vector. In that case if one acks
> it's irq while the other irq is migrating to a different cpu 2.6.19
> get completely confused and stop handling interrupts properly.
>
> With my previous bug fix (not to drop the ack when we are confused)
> the machine will stay up, and that is obviously correct and can't
> affect anything else so is probably a candidate for the stable tree.
>
> With this fix everything just works.
>
> I don't know how often a legitimate case of the exact same irq
> going off twice in a row is, but that is a possibility as well
> especially with edge triggered interrupts.
>
> Setting up the test scenario was a pain, but by extremely limiting
> my choice of vectors I was able to confirm I survived several hundred
> of these events with in a couple of minutes no problem.
>

OK, thanks. Let's await Andi's feedback.
-
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/