Re: [RFC][PATCH 2/6] lockdep: validate rcu_dereference() vs rcu_read_lock()

Peter Zijlstra
2007-09-21T14:30:41Z

On Fri, 21 Sep 2007 10:15:10 -0400 "Dmitry Torokhov"
<dmitry.torokhov@gmail.com> wrote:

> On 9/20/07, Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
> > On Thu, Sep 20, 2007 at 01:31:35PM -0400, Dmitry Torokhov wrote:
> > >
> > > OK, then what is the purpose of synchronize_sched() in -rt?
> >
> > To wait for all preempt-disable, irq-disable, hard-irq, and SMI/NMI code
> > sequences to complete.
>
> OK, so what spin_lock_irq[save]? Does is disable IRQs in -rt or not anymore?
> If IRQs are disabled it appears that I can continue using synchronize_sched().

No it will not disable IRQs anymore.

> >
> > > You really need to provide users with a replacement. There are several
> > > drivers that use it and for example r8169 is not what you'd call a
> > > 'low performer'.
> >
> > I did look at making a synchronize_all_irq() some time back, and all
> > the approaches I came up with at the time were busted.
> >
> > But I just took another look, and I think I see a way to handle it.
> > Either that, or I simply forgot the way in which this approach is
> > broken...
> >
> > I will stare at is some more.
> >
>
> Thank you.

I think the patch posted by Paul earlier today should work.