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/

Reply via email to