Re: 2.6.17-rc5-mm1

Ingo Molnar
2006-05-31T11:55:34Z

* Steven Rostedt <rostedt@goodmis.org> wrote:

> > > It does that because it knows it's about to spend a long time talking
> > > with the mii registers and it doesn't want to do that with interrupts
> > > disabled.
> >
> > i still consider it a 'quirky' locking construct, because disabling
> > interrupts for a long time also disables all other devices sharing the
> > same IRQ line - not nice.
> >
> > Also, this is a really hard case for lockdep to detect
> > automatically. (fortunately it's also relatively rare)
>
> What's the standard way to teach lockdep about this?

Not yet. One possibility would be to use existing locks and to get rid
of the disable_irq(). One technique could be to disable the IRQ on the
card (i think the code already does this), and then call
synchronize_irq() instead of disable_irq().

Ingo