Commit Graph

3 Commits

Author SHA1 Message Date
matt@linuxbox.com
24ddc90e5d Add tracing to MCAS allocator and GC
Adds conditional trace logging to MCAS object cache and supporting GC,
using ViceLog.  While in future this should be normalized, it is correct
for both fileserver and volserver, the two programs using MCAS currently.

LICENSE BSD

Reviewed-on: http://gerrit.openafs.org/374
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2009-09-03 12:35:25 -07:00
matt@linuxbox.com
6ec3db1bb9 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>
2009-08-10 07:01:40 -07:00
matt@linuxbox.com
bb981b953f Portable lock-free data structures by Keir Fraser (MCAS)
The MCAS suite, previously released as lock-free library, under a
non-restrictive license.

This software includes software previously released in 2003 under a
GPL license, but released by the original copyright holder, Keir
Fraser, under a BSD license, on 5/28/2008.

Reviewed-on: http://gerrit.openafs.org/183
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-07-25 12:05:35 -07:00