On Mon, Jan 23, 2017 at 07:12:03PM +1100, Michael Ellerman wrote: > "Paul E. McKenney" <[email protected]> writes: > > > On Sat, Jan 14, 2017 at 11:54:17AM -0800, Paul E. McKenney wrote: > >> On Sat, Jan 14, 2017 at 10:35:50AM +0100, Ingo Molnar wrote: > >> > * Paul E. McKenney <[email protected]> wrote: > > > > [ . . . ] > > > >> > > + */ > >> > > +#ifdef CONFIG_PPC > >> > > +#define smp_mb__after_unlock_lock() smp_mb() /* Full ordering for > >> > > lock. */ > >> > > +#else /* #ifdef CONFIG_PPC */ > >> > > +#define smp_mb__after_unlock_lock() do { } while (0) > >> > > +#endif /* #else #ifdef CONFIG_PPC */ > >> > > >> > Yeah, so I realize that this was pre-existing code, but putting > >> > CONFIG_$ARCH > >> > #ifdefs into generic headers is generally frowned upon. > >> > > >> > The canonical approach would be either to define a helper Kconfig > >> > variable that > >> > can be set by PPC (but other architectures don't need to set it), or to > >> > expose a > >> > suitable macro (function) for architectures to define in their barrier.h > >> > arch > >> > header file. > >> > >> Very well, I will add a separate commit for this. 4.11 OK? > > > > Does the patch below seem reasonable? > > > > Thanx, Paul > > > > ------------------------------------------------------------------------ > > > > commit 271c0601237c41a279f975563e13837bace0df03 > > Author: Paul E. McKenney <[email protected]> > > Date: Sat Jan 14 13:32:50 2017 -0800 > > > > rcu: Make arch select smp_mb__after_unlock_lock() strength > > > > The definition of smp_mb__after_unlock_lock() is currently smp_mb() > > for CONFIG_PPC and a no-op otherwise. It would be better to instead > > provide an architecture-selectable Kconfig option, and select the > > strength of smp_mb__after_unlock_lock() based on that option. This > > commit therefore creates CONFIG_ARCH_WEAK_RELACQ, has PPC select it, > > and bases the definition of smp_mb__after_unlock_lock() on this new > > CONFIG_ARCH_WEAK_RELACQ Kconfig option. > > > > Reported-by: Ingo Molnar <[email protected]> > > Signed-off-by: Paul E. McKenney <[email protected]> > > Cc: Peter Zijlstra <[email protected]> > > Cc: Will Deacon <[email protected]> > > Cc: Boqun Feng <[email protected]> > > Cc: Benjamin Herrenschmidt <[email protected]> > > Cc: Paul Mackerras <[email protected]> > > Cc: Michael Ellerman <[email protected]> > > Cc: <[email protected]> > > Personally I'd call it ARCH_WEAK_RELEASE_ACQUIRE, which is longer but > clearer I think. But it's not a big deal, so which ever you prefer.
ARCH_WEAK_RELEASE_ACQUIRE it is! > Acked-by: Michael Ellerman <[email protected]> Applied, thank you! Thanx, Paul

