Re: un/shared IRQ problem (was: Re: 2.6.18 - another DWARF2)

From: Andrew Morton
Date: Thu Oct 19 2006 - 13:14:49 EST


On Thu, 19 Oct 2006 08:48:10 -0600
ebiederm@xxxxxxxxxxxx (Eric W. Biederman) wrote:

> >
> > There are already three interrupt sources on 201, so they are all happy to
> > share.
> >
> > It's e1000. Jesse, you fibbed ;)
> >
> > static int e1000_request_irq(struct e1000_adapter *adapter)
> > {
> > ...
> > if (adapter->have_msi)
> > flags &= ~IRQF_SHARED;
>
> Well MSI irqs can't be shared, as they are edged triggered.
> Is the e1000 really trying to use irq 201? That would indicate
> a logic failure in the msi irq allocator. It should never allocate
> an inuse irq.

It's gone very bad. See
http://www.lorenz.eu.org/~mlo/kernel/dmesg_2.6.18-ie-la-tp-41.5+0813.boot
http://www.lorenz.eu.org/~mlo/kernel/dmesg_2.6.18-ie-la-tp-41.5+0813.out

> I have to ask what is the state in 2.6.19-rc2? I'm wondering if
> my turning of the msi irq allocator inside out has fixed this problem.

Martin, please try CONFIG_PCI_MSI=n. I'd expect that to fix it (it always does)

> Does this situation work if MSI is disabled, in 2.6.18?
>
> The backwards msi irq allocator in 2.6.18 is so convoluted it may have
> a corner case where it fails, and that is triggering this mess.
>
> If 2.6.19 works with MSI's enabled and 2.6.18 works with MSI disabled
> I'm inclined to say I have done all that is reasonable.

oh, we haven't tried 2.6.19-rc2 yet? Please do that, with CONFIG_PCI_MSI=y.
-
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/