Re: [patch 2.6.28-rc2] at91_mci: workaround lockdep

From: Peter Zijlstra
Date: Tue Oct 28 2008 - 13:37:31 EST


On Tue, 2008-10-28 at 10:22 -0700, David Brownell wrote:
> On Tuesday 28 October 2008, Peter Zijlstra wrote:
> > On Mon, 2008-10-27 at 14:26 -0700, David Brownell wrote:
> > > From: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
> > >
> > > Lockdep reported a problem in the at91_mci driver ... in this case, the
> > > issue is with lockdep, not with the driver. ...
> > >
> > > When __flush_dcache_aliases() returns -- inlined into flush_dcache_page(),
> > > above -- it re-enables IRQs ... since that evidently may only be called with
> > > IRQs enabled. That's OK since the (unshared) IRQ handler doesn't ask for IRQs
> > > to be disabled. Except ... that lockdep went and disabled them, then went on
> > > to complains about the breakage *it* caused!
> > >
> > > Workaround: depend on LOCKDEP=n ...
> >
> > In all previous such cases it was deemed the IRQ handler should deal
> > with whatever it gets.
>
> In which case I'll wait until someone changes that IRQ handler (or that
> ARM MM utility, or lockdep), and give up using AT91 platforms for sanity
> testing kernel changes; lockdep is important, when it doesn't lie.
>
> I do think that lockdep should warn when that it's ignoring such driver
> requests, however. I seem to have been tripping over it a lot lately,
> and knowing that IRQ handlers were using strange modes would have saved
> a bunch of time from being wasted.
>
> Threaded IRQ handlers are going to need to rely even more on running
> with IRQs enabled ... not to mention needing to sleep. So it's clear
> to me that there *are* lockdep issues yet to be adressed here.

Sure, care so send a patch fixing those? :-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/