On Mon, Jan 23, 2017 at 07:12:03PM +1100, Michael Ellerman wrote: > "Paul E. McKenney" <paul...@linux.vnet.ibm.com> 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 <paul...@linux.vnet.ibm.com> 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 <paul...@linux.vnet.ibm.com> > > 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 <mi...@kernel.org> > > Signed-off-by: Paul E. McKenney <paul...@linux.vnet.ibm.com> > > Cc: Peter Zijlstra <pet...@infradead.org> > > Cc: Will Deacon <will.dea...@arm.com> > > Cc: Boqun Feng <boqun.f...@linux.vnet.ibm.com> > > Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org> > > Cc: Paul Mackerras <pau...@samba.org> > > Cc: Michael Ellerman <m...@ellerman.id.au> > > Cc: <linuxppc-...@lists.ozlabs.org> > > 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 <m...@ellerman.id.au> Applied, thank you! Thanx, Paul