Re: [PATCH tip/core/rcu 45/88] rcu: Add memory barriers for NOCB leader wakeup

2017-06-08 Thread Krister Johansen
On Thu, Jun 08, 2017 at 04:47:43PM -0700, Paul E. McKenney wrote: > On Thu, Jun 08, 2017 at 02:28:14PM -0700, Krister Johansen wrote: > > On Thu, Jun 08, 2017 at 01:55:00PM -0700, Paul E. McKenney wrote: > > > Interesting! This is the first that I have heard that this was anything > > > other than

Re: [PATCH tip/core/rcu 45/88] rcu: Add memory barriers for NOCB leader wakeup

2017-06-08 Thread Paul E. McKenney
On Thu, Jun 08, 2017 at 02:28:14PM -0700, Krister Johansen wrote: > On Thu, Jun 08, 2017 at 01:55:00PM -0700, Paul E. McKenney wrote: > > On Thu, Jun 08, 2017 at 01:11:48PM -0700, Krister Johansen wrote: > > > May I impose upon you to CC this patch to stable, and tag it as fixing > > > abedf8e241?

Re: [PATCH tip/core/rcu 45/88] rcu: Add memory barriers for NOCB leader wakeup

2017-06-08 Thread Krister Johansen
On Thu, Jun 08, 2017 at 01:55:00PM -0700, Paul E. McKenney wrote: > On Thu, Jun 08, 2017 at 01:11:48PM -0700, Krister Johansen wrote: > > May I impose upon you to CC this patch to stable, and tag it as fixing > > abedf8e241? I ran into this on a production 4.9 branch. When I > > debugged it, I di

Re: [PATCH tip/core/rcu 45/88] rcu: Add memory barriers for NOCB leader wakeup

2017-06-08 Thread Paul E. McKenney
On Thu, Jun 08, 2017 at 01:11:48PM -0700, Krister Johansen wrote: > Hi Paul, > > On Thu, May 25, 2017 at 02:59:18PM -0700, Paul E. McKenney wrote: > > Wait/wakeup operations do not guarantee ordering on their own. Instead, > > either locking or memory barriers are required. This commit therefore

Re: [PATCH tip/core/rcu 45/88] rcu: Add memory barriers for NOCB leader wakeup

2017-06-08 Thread Krister Johansen
Hi Paul, On Thu, May 25, 2017 at 02:59:18PM -0700, Paul E. McKenney wrote: > Wait/wakeup operations do not guarantee ordering on their own. Instead, > either locking or memory barriers are required. This commit therefore > adds memory barriers to wake_nocb_leader() and nocb_leader_wait(). > > S