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