Re: [PATCH -rt 1/9] preempt rcu: check for underflow

From: Daniel Walker
Date: Mon Jul 30 2007 - 11:59:57 EST


On Mon, 2007-07-30 at 11:22 +0200, Ingo Molnar wrote:
> * Daniel Walker <dwalker@xxxxxxxxxx> wrote:
>
> > + /*
> > + * If our rcu_read_lock_nesting went negative, likely
> > + * something is wrong..
> > + */
> > + WARN_ON(current->rcu_read_lock_nesting < 0);
>
> have you actually caught any rcu locking problem this way? Double
> unlocks should be caught by lockdep already, at a higher level.
>
> in any case i've added a slightly different form of this change to the
> -rt queue that will also check for counter overflows. But i'm not sure
> we want to litter the code with trivial checks like this, so i'm keeping
> it separate and if it does not trigger anything real i'll remove it.

I haven't caught anything with it, but this code would have made it much
easier to catch the single rcu unlock in sys_sched_yield() which was
silent in PREEMPT_RT, and hung !PREEMPT_RT ..

It's fine with me, if you have another method.

Daniel

-
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/