Re: [RFC][PATCH] irq: remove IRQF_DISABLED

Bartlomiej Zolnierkiewicz
2009-03-02T18:25:36Z

On Monday 02 March 2009, Peter Zijlstra wrote:
> On Mon, 2009-03-02 at 18:55 +0100, Bartlomiej Zolnierkiewicz wrote:
> > > Could we make just the IDE driver itself enable interrupts? Sure. But that
> >
> > Actually it has been doing it for years (some host drivers don't do this by
> > default and still need "hdparm -u" or equivalent but I was planning to change
> > it for 2.6.30).
>
> What does it use to do that? A local_irq_enable() in hardirq context
> will make lockdep yell bloody murder :-).
>
> Then there is local_irq_enable_in_hardirq(), which plain simply lies
> when lockdep is enabled -- IOW it would generate horrid irq latencies.
>
> Not having to deal with IRQ recursion in lockdep helps.

Lockdep problems are the least of our worries here (please read Linus'
original mail for details). If you're asking why it is not handled in
softirq -- that's solely because of the historical reasons and I have
high hopes w.r.t. threaded IRQs work here [that it will allow us to
address this issue without too much pain].

Thanks,
Bart