[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110711170014.GI2245@linux.vnet.ibm.com>
Date: Mon, 11 Jul 2011 10:00:14 -0700
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: Frederic Weisbecker <fweisbec@...il.com>
Cc: linux-kernel@...r.kernel.org, mingo@...e.hu, laijs@...fujitsu.com,
dipankar@...ibm.com, akpm@...ux-foundation.org,
mathieu.desnoyers@...ymtl.ca, josh@...htriplett.org,
niv@...ibm.com, tglx@...utronix.de, peterz@...radead.org,
rostedt@...dmis.org, Valdis.Kletnieks@...edu, dhowells@...hat.com,
eric.dumazet@...il.com, darren@...art.com, patches@...aro.org
Subject: Re: [PATCH tip/core/rcu 0/6] Check for use of RCU from
dyntick-idle mode
On Mon, Jul 11, 2011 at 06:44:08PM +0200, Frederic Weisbecker wrote:
> 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.
Oh, and I removed some of my RCU dyntick-idle trace events because
they triggered this warning. This would of course be a problem regardless
of where the RCU dyntick-idle APIs were called from, so I just took the
approach of more carefully placing the trace events.
> > 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.
OK, good to know!
Thanx, Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists