[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1236032371.5330.1654.camel@laptop>
Date: Mon, 02 Mar 2009 23:19:31 +0100
From: Peter Zijlstra <a.p.zijlstra@...llo.nl>
To: dbrownell@...rs.sourceforge.net
Cc: Thomas Gleixner <tglx@...utronix.de>,
Andrew Morton <akpm@...ux-foundation.org>, me@...ipebalbi.com,
linux-kernel@...r.kernel.org, linux-input@...r.kernel.org,
felipe.balbi@...ia.com, dmitry.torokhov@...il.com,
sameo@...nedhand.com
Subject: Re: lockdep and threaded IRQs (was: ...)
On Mon, 2009-03-02 at 14:09 -0800, David Brownell wrote:
> On Monday 02 March 2009, Peter Zijlstra wrote:
> > > > How so?, its the natural extension of that work.
> > >
> > > Not the work to shrink the amount of time IRQ latencies
> > > by shrinking the amount of time IRQs are disabled by
> > > IRQ handlers.
> >
> > Ugh, that's done by pushing work out of the hardirq context,
>
> That's one of many techniques currently used.
>
> Tradeoffs don't always favor larger driver updates
> and re-validation though. Sometimes it's simpler
> to just leverage the reality that "hardirq context"
> does not require using IRQF_DISABLED.
Simpler doesn't mean its a good idea, it opens the door to stack
overruns for one.
Its very unfortunate that people think its a good idea.
> > not by doing silly things like enabling irqs from hardirq context.
>
> Somehow I'm certain you have NOT analysed every one of the
> thousands of IRQ handlers in various Linux drivers to know
> with certainty that's not the reason IRQ_DISABLED is cleared.
>
> There are also *other* reasons to leave IRQ_DISABLED clear.
There might be reasons to do so, that doesn't mean its a good idea and
the desired thing to do.
I state that every !IRQF_DISABLED usage is a bug, either due to broken
hardware or broken drivers.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists