OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-183-gff89a32
Gerrit Code Review
gerrit@openafs.org
Thu, 30 Sep 2010 06:10:36 -0700 (PDT)
The following commit has been merged in the master branch:
commit 37946ee1739aa22cb2f7330a37504d33a7733c9a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date: Wed Sep 29 00:11:53 2010 +0100
rx: Make statistics interface use Atomics
Make the rx_statistics statistics gathering infrastructure use
atomics for all of its counters. This significantly reduces
lock contention. However, it also (potentially) changes the format
of the rx_stats variable which has been used by callers in the past.
To simplify this process, and to aid with future changes, we remove
direct access to rx_stats. Instead, two additional API functions
rx_GetStatistics and rx_FreeStatistics are provided. These give the
caller access to an 'normal' rx_statistics structure.
Tom Keiser has suggested that we should explore using thread-local
statistics structures, and just aggregating them when we are asked
to report. This is a fine idea, and is equally possible with the
new interface that this patch introduces.
Change-Id: I859cea8f7354a655be007b95fa8a61f995308b35
Reviewed-on: http://gerrit.openafs.org/2862
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
src/libafsrpc/Makefile.in | 4 ++
src/libafsrpc/NTMakefile | 2 +-
src/libafsrpc/afsrpc.def | 2 +
src/libuafs/Makefile.common.in | 10 ++++
src/rx/Makefile.in | 2 +-
src/rx/NTMakefile | 2 +-
src/rx/rx.c | 75 +++++++++++++++++----------------
src/rx/rx.h | 51 ----------------------
src/rx/rx_globals.h | 3 -
src/rx/rx_kcommon.c | 8 ++--
src/rx/rx_lwp.c | 8 +++-
src/rx/rx_packet.c | 55 ++++++++++++------------
src/rx/rx_prototypes.h | 4 ++
src/rx/rx_stats.c | 92 ++++++++++++++++++++++++++++++++++++++++
src/rx/rx_stats.h | 86 +++++++++++++++++++++++++++++++++++++
src/rx/rx_user.c | 14 +++----
src/shlibafsrpc/Makefile.in | 4 ++
src/shlibafsrpc/libafsrpc.map | 2 -
src/viced/afsfileprocs.c | 88 ++++++++++++++++++++------------------
19 files changed, 334 insertions(+), 178 deletions(-)
--
OpenAFS Master Repository