May 29, 2007
View ebc5ec7

- added membar_depends(), needed on smp archs. with separate cache banks where it's possible to get a new pointer value, but the old pointer content (e.g. if the two are in different cache banks and the "content" bank is very busy processing a long invalidations queue). For now only Alpha SMP needs it, on all other archs is a no-op (for more info see atomic_ops.h , http://lse.sourceforge.net/locking/wmbdd.html, http://www.linuxjournal.com/article/8212 or Alpha Architecture Reference Manual Chapter 5.6.

Andrei Pelinescu-Onciul authored on 29/05/2007 11:31:29
May 14, 2007
View 118433b

- parts of atomic_ops.h moved into atomic/atomic_common.h and atomic/atomic_native.h

Andrei Pelinescu-Onciul authored on 14/05/2007 17:29:31
May 11, 2007
View ccab6f0

- atomic_add & atomic_cmpxchg added to ppc - atomic_unkown (used when the procesor does not suport atomic ops or is not among the supported ones), tries now to use a "hash" of locks if GEN_LOCK_SET_T_UNLIMITED is defined => less contention on multi-cpus - atomic_ops.h defines *_UNLIMITED macros when the number of locks or set size are limited only by the available memory (everything exept SYSV sems) - license changes: all the atomic* stuff and the locks are now under a BSD (OpenBSD) style license

Andrei Pelinescu-Onciul authored on 11/05/2007 20:44:15
March 31, 2006
View 0db44da

- added atomic ops & mem. barriers support for: - arm - arm v6 (untested, but it compiles ok) - alpha (untested. but it compiles ok) - fastlock: minor fixes - Makefile.defs: support for mip64 and armv6; various minor fixes

Andrei Pelinescu-Onciul authored on 31/03/2006 21:22:40
March 30, 2006
View d307929

- makefile: - compile in 64bit mode by default on sparc64 - sparc <= v8 support - -CC_GCC_LIKE_ASM is defined when the compiler supports gcc style inline asm (gcc and icc)

Andrei Pelinescu-Onciul authored on 30/03/2006 19:56:06
March 15, 2006
View 3aa05ac

- added mb_atomic_* ops, equivalent to membar(); atomic_*, but more optimized (e.g. on x86 most atomic ops act also as memory barriers so mb_atomic_* will be equiv. to atomic_* )

Andrei Pelinescu-Onciul authored on 15/03/2006 19:16:39
March 13, 2006
View e960e1e

- timer: proper includes for no fast lock case - Makefile: mips gcc params fixes - atomic_* updates [work in progress]

Andrei Pelinescu-Onciul authored on 13/03/2006 20:20:48
March 9, 2006
View 71c6449

- advanced synchronization functions: atomic operations (inc, dec, inc_and_test, dec_and_test, or, and) and memory barriers. [ work in progress, for now: x86, x86_64 and mips2 ]

Andrei Pelinescu-Onciul authored on 09/03/2006 20:44:08