Re: [PATCH -rt 1/9] preempt rcu: check for underflow
From: Daniel Walker <hidden>
Date: 2007-07-30 15:59:55
Also in:
lkml
From: Daniel Walker <hidden>
Date: 2007-07-30 15:59:55
Also in:
lkml
On Mon, 2007-07-30 at 11:22 +0200, Ingo Molnar wrote:
* Daniel Walker [off-list ref] wrote:quoted
+ /* + * 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