Re: lockdep and threaded IRQs (was: ...)

Ingo Molnar
2009-03-03T10:49:21Z

* Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:

> > _without_ IRQF_ENABLED: where an IRQ handler can take a long
> > time to execute, the handler can be converted to a threaded
> > IRQ handler - where it's fine to enable IRQs as there are no
> > stack nesting issues.
>
> Only if you can mask the interrupt on the APIC without losing
> it or having the APIC throw a fit.

Hm, that reads like the boot IRQ erratas of certain chipsets -
the APIC could throw a fit essentially locking up the system.
FYI, we have fixes for that upstream already.

Do you have any description about that problem, which hardware
it affects, whether it's manufactured today and any (ballpark
figure) estimation about the Linux installed base on it? Can
they live with the quirk flag?

> > So there's no real technical problem here.
>
> In the long term no - but forcing people to make sudden
> changes to critical I/O drivers isn't the right way to do it.

i think you severely over-estimate the importance and ratio of
drivers that enable irqs within irq handlers. (Nor does anyone
want to break them really - we want to have a sane default and
we want to flag the broken cases as broken.)

The thing is, while you seem to spend precious resources on
weird legacy cases, we have a _lot_ of everyday systems in
bugzilla that do not boot or do not work for one reason or
another. Most of that is not in the weird-hardware category at
all.

You might also have noticed that over the past 2-3 years the
term "hard lockup" in regression reports has gone down by about
an order of magnitude - and much of that can be attributed to
the lockdep coverage we have in place. So in terms of real
everyday quality impact on Linux Peter is very, very, very
efficient.

And frankly, while Peter's patch here needs modifications, as a
maintainer i prefer Peter as a contributor so much not only
because he is fantastically productive in terms of fixing
locking crap all over the kernel, but also because he
concentrates on the big picture and on the common case and on
the net effect on Linux instead of just stubbornly concentrating
on an extreme-0.01% of the hardware space.

So your attack on him is quite misguided and unfair:

>> [..] You can talk about forcing things all you like but
>> "force" used that way generally means "new maintainer
>> required" [...]

Btw., Peter submitted a genirq patch and FYI he does not
maintain the genirq subsystem and never maintained it.

Ingo