On Fri, 19 Jul 2013, Waiman Long wrote: > On 07/19/2013 02:31 PM, Peter Zijlstra wrote: > > rcu_read_lock(); > > - if (lock->owner) > > - retval = lock->owner->on_cpu; > > + owner = ACCESS_ONCE(lock->owner); > > + if (owner) > > + retval = owner->on_cpu; > > rcu_read_unlock(); > > /* > > * if lock->owner is not set, the mutex owner may have just > > acquired >
> I am fine with this change. However, the compiler is smart enough to > not do two memory accesses to the same memory location. So this will > not change the generated code. Below is the relevant x86 code for > that section of code: That's true for your particular compiler, but it's not guaranteed at all. So it matters even when your compiler generates the same code. Others might not. There is a world outside of x8664. Thanks, tglx -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/