Re: PCI, ACPI, IRQ, IOAPIC: reroute PCI interrupt to legacy boot interrupt equivalent

Bjorn Helgaas
2009-01-14T16:52:31Z

On Wednesday 14 January 2009 08:55:29 am Olaf Dabrunz wrote:
> On 14-Jan-09, Bjorn Helgaas wrote:
> > On Wednesday 14 January 2009 02:57:22 am Stefan Assmann wrote:
> > > Shaohua Li wrote:
> > > > So a device can generate interrupt from two irqs. And we can get the irq
> > > > number for the routing table. Can we extend the irq mechanism and
> > > > automatically register the interrupt handler for the two irqs?
> > >
> > > This would not solve the problem of asserting 2 different interrupt
> > > lines, in the masked interrupt handling case, for 1 interrupt request.
> > > The result would be that the ISR is called twice and at the second call
> > > you can't be sure that the device hasn't already been serviced.
> >
> > Calling the ISR twice isn't a problem, is it? We're talking about
> > PCI interrupts, which are shareable, so ISRs have to handle being
> > called extra times.
> >
> > There's still the problem that the core will disable an IRQ if we
> > take it too many times without any ISR that cares about it. But that's
> > a core issue, not an ISR issue.
>
> It is not solvable in the core. How do you find out that the "nobody
> cared" spurious IRQ is benign?

Sorry, I'm not suggesting that you can. I was just trying to clarify
that the problem is not with calling an ISR twice, but I think I only
managed to muddy the discussion to no benefit.

Bjorn