OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-178-g513d6a3

Gerrit Code Review gerrit@openafs.org
Thu, 30 Sep 2010 06:07:36 -0700 (PDT)


The following commit has been merged in the master branch:
commit 513d6a3e35f8c35178e0a22428d616751251b51e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Sep 28 23:37:54 2010 +0100

    rx: Add atomic operations code
    
    Add support for an atomic type, and atomic operators for RX. This
    builds on work which has already been done for Windows, where
    InterlockedOperations are used for statistics gathering.
    
    A new opaque type, rx_atomic_t is introduced so that normal arithmetic
    operations will fail on atomic data.
    
    An implementation using native atomic methods is provided for Darwin,
    Solaris and Windows. A native kernel implementation is used for Linux.
    Where OpenAFS is built with a sufficiently modern gcc, gcc's atomic
    primitives will be used. Sadly, gcc's builtin operations are not
    available for i386, they will only be used with builds the set
    -march=i486 (or later).
    
    Otherwise, we fall back to a single mutex which protects all atomic
    operations.
    
    Change-Id: I5f69677a80617e3936f82b177cd58250a6dbf31f
    Reviewed-on: http://gerrit.openafs.org/2858
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

 acinclude.m4       |   10 ++
 src/rx/rx.c        |    8 ++
 src/rx/rx_atomic.h |  273 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 291 insertions(+), 0 deletions(-)

-- 
OpenAFS Master Repository