Re: 2.6.20->2.6.21 - networking dies after random time

Ingo Molnar
2007-07-26T08:16:43Z

* Marcin Ślusarz <marcin.slusarz@gmail.com> wrote:

> 2007/7/25, Thomas Gleixner <tglx@linutronix.de>:
> >(...)
>
> I've tested Jarek's patch, 2 Ingo's patches (2nd and 3rd) and Thomas'
> patch (one patch at time of course) - all of them fixed the problem,
> but the last one flooded my logs with "Skip resend for irq 17". All
> tests were done on 2.6.21.3.

that's great! I think we have two good theories about what might be
going on:

- the driver might be buggy in that it gets confused by the 'resent'
irq.

- or the chipset/cpu has a bug where it might get confused about the
resent APIC vector getting mixed up with the same vector coming
externally too. (Now, it makes little sense to 'resend' a
level-triggered interrupt on x86 platforms that have flat PIC
hierarchies (other architectures might need more than that to
retrigger an interrupt) - but there's nothing wrong about it in
theory and it needs fixing for edge irqs anyway.)

in any case, the problem was triggered by our change generating much
more resent irqs than before. Nevertheless we'd like to fix that resend
bug (and if the driver is buggy, the driver bug too). It's really good
progress so far - we are working on doing the real fix now.

Ingo