Messages in this thread | | | Date | Mon, 11 Jul 2011 18:44:08 +0200 | From | Frederic Weisbecker <> | Subject | Re: [PATCH tip/core/rcu 0/6] Check for use of RCU from dyntick-idle mode |
| |
On Mon, Jul 11, 2011 at 09:38:48AM -0700, Paul E. McKenney wrote: > On Mon, Jul 11, 2011 at 06:03:32PM +0200, Frederic Weisbecker wrote: > > On Fri, Jul 08, 2011 at 08:43:31AM -0700, Paul E. McKenney wrote: > > > Hello! > > > > > > This set of patches adds checks for use of RCU from "extended quiescent > > > states" such as dyntick-idle mode. Such use is grossly illegal because > > > RCU by definition ignores CPUs that are in extended quiescent states. > > > In the case of dyntick-idle mode, the only way for RCU to avoid ignoring > > > such CPUs would be to wake them up periodically, which would defeat the > > > whole purpose of dyntick-idle mode. > > > > > > The good news is that Frederic got this effort started. The bad news is > > > that there are several cases where RCU read-side critical sections appear > > > in dyntick-idle mode. > > > > Ok, let me send to you the patch that splits up rcu/tickless logic and I'll try > > to fix up what you reported to me in ppc. > > Very good, thank you! > > > BTW, are you aware of other cases? You mentioned "several" :) > > PowerPC's hypercall-exit trace event will also cause this complaint.
Ok looking at this.
> Plus I thought you saw some others.
Nope, mine were spurious. In my v1 rcu_dereference_check warned if rcu read lock wasn't held but didn't handle the rest of the conditional (another lock held or simply 1 in rcu_dereference_raw()).
In the v3, the one you applied, they legitimately disappeared.
| |