Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Apr 2001 19:50:06 -0700 (PDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/alpha/include atomic.h
Message-ID:  <200104170250.f3H2o6474875@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
jhb         2001/04/16 19:50:06 PDT

  Modified files:
    sys/alpha/include    atomic.h 
  Log:
  - Fix memory barriers in atomic operations so that the barriers are always
    "inside" of locked regions.  That is, an acquire atomic operation will
    always enforce a memory barrier after the atomic operation and a release
    operation will always enforce a memory barrier before the atomic
    operation.
  - Explicitly use 'mb' instead of 'wmb' in release atomic operations.  The
    'wmb' memory barrier is not strong enough to guarantee coherence with
    other processors.  This is effectively a nop since alpha_wmb() actually
    performs a 'mb' and not a 'wmb', but I wanted the code to be more
    correct since at some point in the future alpha_wmb()'s implementation
    may switch to being a real 'wmb'.
  
  Revision  Changes    Path
  1.10      +27 -21    src/sys/alpha/include/atomic.h


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200104170250.f3H2o6474875>