MCAS changes from Matt
authormatt@linuxbox.com <matt@linuxbox.com>
Sat, 25 Jul 2009 18:10:25 +0000 (14:10 -0400)
committerDerrick Brashear <shadow@dementia.org>
Mon, 10 Aug 2009 14:01:40 +0000 (07:01 -0700)
commit6ec3db1bb94a6eee55020b7fa4ac1ba8425a4b2d
treeed9c86aad331a386625cbf012f1b724896278956
parent160aff88be210a8141b67a54583aed7387d8bffc
MCAS changes from Matt

Change static max allocators to 30.  Add atomic add/sub macros returning
original value, based on CASIO.  Add interfaces to add and remove generic
allocator caches.  Add atomic inc/dec/sub macros using MCAS primitives.
Add inline assembly for x86_64 and shim for Solaris (9+) atomic operations,
providing Solaris x86 and alternate shim for Solaris Sparc.  Set interface
adapted for iteration and generalized for use with opaque key, value
pointers.  File cas_skip_func.c provides kv interface, cas_skip_adt.c
provides kv interface, plus iteration on skip lists.  Casual dependencies
on stdio and exit() defined out.

LICENSE BSD

Reviewed-on: http://gerrit.openafs.org/214
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
27 files changed:
src/mcas/Makefile.osi [new file with mode: 0644]
src/mcas/Makefile.unit [new file with mode: 0644]
src/mcas/TODO [new file with mode: 0644]
src/mcas/alpha_defns.h
src/mcas/amd64_defns.h [new file with mode: 0644]
src/mcas/gc.c
src/mcas/gc.h
src/mcas/ia64_defns.h
src/mcas/intel_defns.h
src/mcas/mips_defns.h
src/mcas/osi_mcas_atomic.h [new file with mode: 0644]
src/mcas/osi_mcas_obj_cache.c [new file with mode: 0644]
src/mcas/osi_mcas_obj_cache.h [new file with mode: 0644]
src/mcas/portable_defns.h
src/mcas/ppc_defns.h
src/mcas/ptst.h
src/mcas/random.h
src/mcas/set.h
src/mcas/set_adt.h [new file with mode: 0644]
src/mcas/set_queue_adt.h [new file with mode: 0644]
src/mcas/skip_adt_test.c [new file with mode: 0644]
src/mcas/skip_cas_adt.c [new file with mode: 0644]
src/mcas/skip_cas_func.c [new file with mode: 0644]
src/mcas/solaris_amd64_defns.h [new file with mode: 0644]
src/mcas/solaris_x86_defns.h [new file with mode: 0644]
src/mcas/sparc_defns.h
src/mcas/stm.h