lkml.org 
[lkml]   [2010]   [Apr]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 1/5] Add a global synchronization point for pvclock
    From
    Date
    On Mon, 2010-04-19 at 13:50 +0300, Avi Kivity wrote:
    > On 04/19/2010 01:39 PM, Peter Zijlstra wrote:
    > > On Fri, 2010-04-16 at 13:36 -0700, Jeremy Fitzhardinge wrote:
    > >
    > >>> + do {
    > >>> + last = last_value;
    > >>>
    > >>>
    > >> Does this need a barrier() to prevent the compiler from re-reading
    > >> last_value for the subsequent lines? Otherwise "(ret< last)" and
    > >> "return last" could execute with different values for "last".
    >
    > > ACCESS_ONCE() is your friend.
    > >
    >
    > I think it's implied with atomic64_read().

    Yes it would be. I was merely trying to point out that

    last = ACCESS_ONCE(last_value);

    Is a narrower way of writing:

    last = last_value;
    barrier();

    In that it need not clobber all memory locations and makes it instantly
    clear what we want the barrier for.



    \
     
     \ /
      Last update: 2010-04-19 13:07    [W:0.020 / U:181.612 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site