Re: 2.6.23-rc6-mm1: IPC: sleeping function called ...

From: Peter Zijlstra
Date: Tue Sep 18 2007 - 15:43:56 EST


On Tue, 18 Sep 2007 11:29:24 -0700 "Paul E. McKenney"
<paulmck@xxxxxxxxxxxxxxxxxx> wrote:

> On Tue, Sep 18, 2007 at 09:57:15AM -0700, Andrew Morton wrote:
> > On Tue, 18 Sep 2007 09:13:37 -0700 "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> wrote:
> >
> > > On Tue, Sep 18, 2007 at 02:24:51PM +0200, Peter Zijlstra wrote:
> > > > On Tue, 18 Sep 2007 03:34:00 -0700 Andrew Morton
> > > > <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> > > >
> > > > > Well, it was an optimisation. spin_lock() implies rcu_read_lock(). That's
> > > > > a bit dirty and we might choose to not do that.
> > > >
> > > > Not true for the preemptible-rcu work. All such sites should be fixed,
> > > > or at the very least heavily annotated.
> > >
> > > What he said!!!
> > >
> >
> > What he said!
> >
> > How are you going to find all such sites?
>
> A first step would be to look for patches in -rt that add rcu_read_lock()
> or friends. A second step would be to look for rcu_dereference() without
> an enclosing rcu_read_lock(), rcu_read_lock_bh(), or preempt_disable().

I could perhaps do that with that rcu_read_lock lockdep annotation. If
I add a check for holding rcu_read_lock in rcu_dereference().
-
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/