lkml.org 
[lkml]   [2006]   [Sep]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: Uses for memory barriers
    Date
    Am Samstag, 9. September 2006 00:25 schrieb Alan Stern:
    > On Fri, 8 Sep 2006, Oliver Neukum wrote:
    >
    > > > Again you have misunderstood. The original code was _not_ incorrect. I
    > > > was asking: Given the code as stated, would the assertion ever fail?
    > >
    > > I claim the right to call code that fails its own assertions incorrect. :-)
    >
    > Touche!
    >
    > > > The code _was_ correct for my purposes, namely, to illustrate a technical
    > > > point about the behavior of memory barriers.
    > >
    > > I would say that the code may fail the assertion purely based
    > > on the formal definition of a memory barrier. And do so in a subtle
    > > and inobvious way.
    >
    > But what _is_ the formal definition of a memory barrier? I've never seen
    > one that was complete and correct.

    I' d say "mb();" is "rmb();wmb();"

    and they work so that:

    CPU 0

    a = TRUE;
    wmb();
    b = TRUE;

    CPU 1

    if (b) {
    rmb();
    assert(a);
    }

    is correct. Possibly that is not a complete definition though.

    Regards
    Oliver
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-09-09 00:51    [W:0.021 / U:90.732 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site