Re: Why no interrupt priorities?

Helge Hafting
2004-02-27T10:16:00Z

Grover, Andrew wrote:
>
> Is the assumption that hardirq handlers are superfast also the reason
> why Linux calls all handlers on a shared interrupt, even if the first
> handler reports it was for its device?
>
No, it is the other way around. hardirq handlers have to be superfast
because linux usually _have to_ call all the handlers of a shared irq.

The fact that one device did indeed have an interrupt for us doesn't mean
that the others didn't. So all of them have to be checked to be safe.

If this becomes a performance problem, make sure that no _busy_ irqs
are shared. The easy way is to shuffle pci cards around, or set
jumpers/switches or software controlled options. Or resort to
reprogramming the APIC in extreme cases.

Helge Hafting