Re: [RESEND] [PATCH v2] [BUGFIX] x86/x86_64: fix CPU offlining triggered "active" device IRQ interrruption

Gary Hade
2009-06-03T17:06:33Z

On Wed, Jun 03, 2009 at 05:03:24AM -0700, Eric W. Biederman wrote:
> Gary Hade <garyhade@us.ibm.com> writes:
>
> > Impact: Eliminates an issue that can leave the system in an
> > unusable state.
> >
> > This patch addresses an issue where device generated IRQs
> > are no longer seen by the kernel following IRQ affinity
> > migration while the device is generating IRQs at a high rate.
> >
> > I have been able to consistently reproduce the problem on
> > some of our systems by running the following script (VICTIM_IRQ
> > specifies the IRQ for the aic94xx device) while a single instance
> > of the command
> > # while true; do find / -exec file {} \;; done
> > is keeping the filesystem activity and IRQ rate reasonably high.
>
> Nacked-by: "Eric W. Biederman" <ebiederm@xmission.com>
>
> Again you are attempt to work around the fact that fixup_irqs
> is broken.
>
> fixup_irqs is what needs to be fixed to call these functions properly.
>
> We have several intense debug sessions by various people including
> myself that show that your delayed_irq_move function will simply not
> work reliably.
>
> Frankly simply looking at it gives me the screaming heebie jeebies.
>
> The fact you can't reproduce the old failure cases which demonstrated
> themselves as lockups in the ioapic state machines gives me no
> confidence in your testing of this code.

Correct, after the fix was applied my testing did _not_ show
the lockups that you are referring to. I wonder if there is a
chance that the root cause of those old failures and the root
cause of issue that my fix addresses are the same?

Can you provide the test case that demonstrated the old failure
cases so I can try it on our systems? Also, do you recall what
mainline version demonstrated the old failure cases?

Thanks,
Gary

--
Gary Hade
System x Enablement
IBM Linux Technology Center
503-578-4503 IBM T/L: 775-4503
garyhade@us.ibm.com