urcu.git
14 years agoLFQ: Fix unpaired lock/unlock lflist
Mathieu Desnoyers [Mon, 1 Mar 2010 20:15:19 +0000 (15:15 -0500)] 
LFQ: Fix unpaired lock/unlock

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agoRemove urcu defer lfq from makefile (non existent)
Mathieu Desnoyers [Mon, 1 Mar 2010 20:00:07 +0000 (15:00 -0500)] 
Remove urcu defer lfq from makefile (non existent)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agolock-free queue with RCU-based garbage collection
Paolo Bonzini [Mon, 1 Mar 2010 19:57:10 +0000 (14:57 -0500)] 
lock-free queue with RCU-based garbage collection

A lock-free queue example using RCU to avoid the need for double-word
compare-and-swap and, at the same time, to implement efficient garbage
collection.  I tested it lightly, and I don't think it's fully ready
for inclusion.  It does need the previous two patches to avoid deadlocks,
so I did test it somewhat. :-)

See individual files for detailed comments on how it works.

Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
14 years agocentralize definition of BITS_PER_LONG
Paolo Bonzini [Mon, 1 Mar 2010 19:12:21 +0000 (14:12 -0500)] 
centralize definition of BITS_PER_LONG

Use __SIZEOF_LONG__, defined by GCC 4.3 or later, or _LP64, defined
by GCC 3.4 or later.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agoavoid multiple evaluation of STORE_SHARED argument
Paolo Bonzini [Mon, 1 Mar 2010 19:06:01 +0000 (14:06 -0500)] 
avoid multiple evaluation of STORE_SHARED argument

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agosupport compiling on unknown architectures
Paolo Bonzini [Mon, 1 Mar 2010 19:04:11 +0000 (14:04 -0500)] 
support compiling on unknown architectures

The new defaults mean that, for example, ia64 support comes for free.

[edit by Mathieu Desnoyers]

defaults -> generic

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agoadd Alpha support
Paolo Bonzini [Mon, 1 Mar 2010 19:02:55 +0000 (14:02 -0500)] 
add Alpha support

And you already know what needs to be special-cased for Alpha...

[edit by Mathieu Desnoyers]

defaults -> generic

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agomove whether atomic byte/short exists to uatomic_arch_*.h
Paolo Bonzini [Mon, 1 Mar 2010 19:00:22 +0000 (14:00 -0500)] 
move whether atomic byte/short exists to uatomic_arch_*.h

And add more generic implementations to uatomic_defaults.h.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agouse uatomic_generic.h for common fallback implementations
Paolo Bonzini [Mon, 1 Mar 2010 18:58:45 +0000 (13:58 -0500)] 
use uatomic_generic.h for common fallback implementations

And now, really remove the code for S390/SPARC, using the fallback
implementation of uatomic_generic.h

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agoadd uatomic_generic.h, use it for common definitions
Paolo Bonzini [Mon, 1 Mar 2010 18:57:00 +0000 (13:57 -0500)] 
add uatomic_generic.h, use it for common definitions

uatomic_generic.h can be included by uatomic_arch_*.h to provide useful
default definitions.  uatomic_arch_*.h can define whatever builtins
it wants to override, then uatomic_generic.h will provide what is not
already defined, as follows:

- uatomic_cmpxchg will use __sync_val_compare_and_swap builtins;

- uatomic_add_return will use __sync_fetch_and_add if uatomic_arch_*.h
did not provide a definition of uatomic_cmpxchg.  If it did, we assume
__sync builtins are buggy or otherwise undesirable on this platform,
so uatomic_generic.h will implement uatomic_add_return in terms of
uatomic_cmpxchg too.

- uatomic_xchg is like uatomic_add_return.  However, since GCC does
not provide an adequate builtin, it needs to use a compare-and-swap
loop using __sync_bool_compare_and_swap if uatomic_cmpxchg is not
provided.

- uatomic_sub_return/uatomic_add/uatomic_sub will be implemented
in terms of uatomic_add_return;

- uatomic_inc/uatomic_dec will be implemented in terms of uatomic_add.

After this patch, uatomic_generic.h is already used for the latter two
categories.  The next patch will use uatomic_generic.h whenever there is
no assembly code involved, or otherwise it makes no difference to use
uatomic_generic.h.  We keep custom per-arch macros to provide support for
compilers back to early GCC 3.x versions; however future ports may
not have this limitation.

The hunk in tests/test_uatomic.c is only needed for bisectability
and will be removed later.

[edit by Mathieu Desnoyers]

Fixed Makefile.am conflict.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agoremove compat_uatomic_cmpxchg #define from non-x86
Paolo Bonzini [Mon, 1 Mar 2010 18:53:51 +0000 (13:53 -0500)] 
remove compat_uatomic_cmpxchg #define from non-x86

This is unused everywhere except on x86.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agodefine sync_core for x86 PIC
Paolo Bonzini [Mon, 1 Mar 2010 18:52:45 +0000 (13:52 -0500)] 
define sync_core for x86 PIC

Pushing/popping the reserved ebx register is surely less expensive
than a memory barrier.

Note that since ebx is a callee-save register, this is even safe for
signals (i.e. it would be safe even if we needed the value that cpuid
puts in %%ebx).

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agoadd urcu/arch_generic.h
Paolo Bonzini [Mon, 1 Mar 2010 18:51:14 +0000 (13:51 -0500)] 
add urcu/arch_generic.h

Most of the memory barrier definitions are shared between all
architectures, especially smp_* and mc/rmc/wmc.  Put them in
a common file.

[edit by Mathieu Desnoyers]

+ * arch_defaults.h: common definitions for multiple architectures.
 becomes
+ * arch_generic.h: common definitions for multiple architectures.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agouse autoconf symbolic linking
Paolo Bonzini [Mon, 1 Mar 2010 18:50:32 +0000 (13:50 -0500)] 
use autoconf symbolic linking

Instead of copying.  This is less error-prone while developing and
lets Automake handle more stuff.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agouse kernel style makefile output
Paolo Bonzini [Mon, 1 Mar 2010 18:49:54 +0000 (13:49 -0500)] 
use kernel style makefile output

A breath of fresh air.  Requires Automake 1.11, but the
patch degrades gracefully.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agoupdate README for urcu-signal
Mathieu Desnoyers [Fri, 19 Feb 2010 22:20:24 +0000 (17:20 -0500)] 
update README for urcu-signal

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agolist: new -> _new for c++ compatibility
Mathieu Desnoyers [Fri, 19 Feb 2010 14:28:41 +0000 (09:28 -0500)] 
list: new -> _new for c++ compatibility

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agorcuhlist: add head name fix
Mathieu Desnoyers [Fri, 19 Feb 2010 14:08:18 +0000 (09:08 -0500)] 
rcuhlist: add head name fix

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agoRCU list: add rcuhlist.h, add list_replace_rcu
Mathieu Desnoyers [Fri, 19 Feb 2010 04:45:40 +0000 (23:45 -0500)] 
RCU list: add rcuhlist.h, add list_replace_rcu

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agotests: update writer cs len script for 64-core ppc
Mathieu Desnoyers [Sun, 14 Feb 2010 15:07:43 +0000 (10:07 -0500)] 
tests: update writer cs len script for 64-core ppc

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agotests: update summary
Mathieu Desnoyers [Sun, 14 Feb 2010 14:06:47 +0000 (09:06 -0500)] 
tests: update summary

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agourcu tests: add writer duration parameter
Mathieu Desnoyers [Sun, 14 Feb 2010 13:43:05 +0000 (08:43 -0500)] 
urcu tests: add writer duration parameter

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agoUpdate to version 0.4.1 v0.4.1
Mathieu Desnoyers [Fri, 12 Feb 2010 22:52:50 +0000 (17:52 -0500)] 
Update to version 0.4.1

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agourcu-static.h: use SYS_membarrier rather than __NR_membarrier
Mathieu Desnoyers [Fri, 12 Feb 2010 21:39:22 +0000 (16:39 -0500)] 
urcu-static.h: use SYS_membarrier rather than __NR_membarrier

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agos390: fix arch_s390.h include of urcu/compiler.h
Mathieu Desnoyers [Fri, 12 Feb 2010 01:11:44 +0000 (20:11 -0500)] 
s390: fix arch_s390.h include of urcu/compiler.h

gcc -DHAVE_CONFIG_H -I. -I.. -I../urcu    -DTORTURE_URCU -I.. -I.. -g -O2 -c -o rcutorture_urcu-urcutorture.o `test -f 'urcutorture.c' || echo './'`urcutorture.c
/bin/sh ../libtool --tag=CC   --mode=link gcc -DTORTURE_URCU -I.. -I.. -g -O2 -lpthread  -o rcutorture_urcu rcutorture_urcu-urcutorture.o ../urcu.c ../urcu-pointer.c
gcc -DTORTURE_URCU -I.. -I.. -g -O2 -o rcutorture_urcu rcutorture_urcu-urcutorture.o ../urcu.c ../urcu-pointer.c  -lpthread
In file included from ../urcu-static.h:38,
                 from ../urcu.c:36:
../urcu/arch.h:31:22: error: compiler.h: No such file or directory
In file included from ../urcu/system.h:22,
                 from ../urcu/uatomic_arch.h:33,
                 from ../urcu-pointer.c:27:
../urcu/arch.h:31:22: error: compiler.h: No such file or directory
make[3]: *** [rcutorture_urcu] Error 1
make[3]: Leaving directory `/build/buildd-liburcu_0.4.0-1-s390-vwO9c1/liburcu-0.4.0/tests'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/build/buildd-liburcu_0.4.0-1-s390-vwO9c1/liburcu-0.4.0'
make[1]: *** [all] Error 2
dh_auto_build: make -j1 returned exit code 2
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
make[1]: Leaving directory `/build/buildd-liburcu_0.4.0-1-s390-vwO9c1/liburcu-0.4.0'

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agoREADME: discuss mutex vs RCU interaction
Mathieu Desnoyers [Mon, 8 Feb 2010 21:57:57 +0000 (16:57 -0500)] 
README: discuss mutex vs RCU interaction

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 years agostandardize rcu_gp_ongoing
Mathieu Desnoyers [Mon, 8 Feb 2010 14:36:41 +0000 (09:36 -0500)] 
standardize rcu_gp_ongoing

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agorename rcu_old_gp_ongoing to rcu_gp_ongoing
Mathieu Desnoyers [Mon, 8 Feb 2010 14:28:14 +0000 (09:28 -0500)] 
rename rcu_old_gp_ongoing to rcu_gp_ongoing

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoupdate LOAD_SHARED/STORE_SHARED for need_mb.
Mathieu Desnoyers [Mon, 8 Feb 2010 14:18:43 +0000 (09:18 -0500)] 
update LOAD_SHARED/STORE_SHARED for need_mb.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agourcu: use unsigned long instead of long
Mathieu Desnoyers [Mon, 8 Feb 2010 13:18:08 +0000 (08:18 -0500)] 
urcu: use unsigned long instead of long

As it is currently designed, urcu scheme never overflows and we do not use the
upper "sign" bit. But, nevertheless, just in case we choose to do it differently
in the future, use an unsigned long type to allow:

- overflow
- defined used of 0x80000000

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoupdate version to 0.4.0 v0.4.0
Mathieu Desnoyers [Sat, 30 Jan 2010 18:29:21 +0000 (13:29 -0500)] 
update version to 0.4.0

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoURCU: rename light/heavy barriers to slave/master
Mathieu Desnoyers [Sat, 30 Jan 2010 18:28:35 +0000 (13:28 -0500)] 
URCU: rename light/heavy barriers to slave/master

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoQSBR URCU: remove unused reader_barrier() declaration
Mathieu Desnoyers [Sat, 30 Jan 2010 18:21:27 +0000 (13:21 -0500)] 
QSBR URCU: remove unused reader_barrier() declaration

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoUpdate comments
Mathieu Desnoyers [Sun, 17 Jan 2010 18:25:06 +0000 (13:25 -0500)] 
Update comments

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoInternal cleanup
Mathieu Desnoyers [Sun, 17 Jan 2010 17:15:44 +0000 (12:15 -0500)] 
Internal cleanup

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agorename internal_rcu_lock() into mutex_lock/unlock(&rcu_gp_lock)
Mathieu Desnoyers [Sun, 17 Jan 2010 16:42:56 +0000 (11:42 -0500)] 
rename internal_rcu_lock() into mutex_lock/unlock(&rcu_gp_lock)

Cleanup.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoAdd SIGURCU backward compatibility
Mathieu Desnoyers [Fri, 15 Jan 2010 16:32:35 +0000 (11:32 -0500)] 
Add SIGURCU backward compatibility

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoUpdate support for MEMBARRIER_QUERY
Mathieu Desnoyers [Thu, 14 Jan 2010 01:52:52 +0000 (20:52 -0500)] 
Update support for MEMBARRIER_QUERY

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoSupport sys_membarrier v6 ABI
Mathieu Desnoyers [Wed, 13 Jan 2010 23:46:53 +0000 (18:46 -0500)] 
Support sys_membarrier v6 ABI

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoAdd sys_membarrier() dynamic detection, old liburcu.so -> liburcu-signal.so
Mathieu Desnoyers [Wed, 13 Jan 2010 18:02:21 +0000 (13:02 -0500)] 
Add sys_membarrier() dynamic detection, old liburcu.so -> liburcu-signal.so

See updated README for library renaming details.

liburcu is now dynamically detecting if sys_membarrier is available, and using
urcu-mb as fall back.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agourcu signal-based renames
Mathieu Desnoyers [Wed, 13 Jan 2010 16:59:00 +0000 (11:59 -0500)] 
urcu signal-based renames

reader_barrier renamed to smp_mb_light
force_mb_all_readers renamed to smp_mb_heavy

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agosignal-based urcu: rename force_mb_all_threads -> force_mb_all_readers
Mathieu Desnoyers [Wed, 13 Jan 2010 16:37:14 +0000 (11:37 -0500)] 
signal-based urcu: rename force_mb_all_threads -> force_mb_all_readers

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoCleanup urcu-defer static header
Mathieu Desnoyers [Wed, 13 Jan 2010 16:36:10 +0000 (11:36 -0500)] 
Cleanup urcu-defer static header

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoAPI prefix standardization: urcu_ -> rcu_
Mathieu Desnoyers [Wed, 13 Jan 2010 16:33:21 +0000 (11:33 -0500)] 
API prefix standardization: urcu_ -> rcu_

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoversion 0.3.4 v0.3.4
Mathieu Desnoyers [Sun, 10 Jan 2010 19:29:28 +0000 (14:29 -0500)] 
version 0.3.4

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoSupport earlier glibc sched_setaffinity
Pedro Alves [Sun, 10 Jan 2010 19:24:31 +0000 (14:24 -0500)] 
Support earlier glibc sched_setaffinity

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Pedro Alves <pedro@codesourcery.com>
14 years agoRemove bogus ; from defines
Mathieu Desnoyers [Sun, 10 Jan 2010 04:25:23 +0000 (23:25 -0500)] 
Remove bogus ; from defines

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoversion 0.3.3 v0.3.3
Mathieu Desnoyers [Mon, 4 Jan 2010 19:08:21 +0000 (14:08 -0500)] 
version 0.3.3

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoConsider __NO_LWSYNC__
Sebastian Andrzej Siewior [Thu, 10 Dec 2009 19:20:16 +0000 (14:20 -0500)] 
Consider __NO_LWSYNC__

This is set by the gcc when the target does not support the lwsync
opcode. This is the case for e500 core based CPUs.

I haven't touch tests/api_ppc.h because I don't see any users.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoversion 0.3.2 v0.3.2
Mathieu Desnoyers [Thu, 10 Dec 2009 13:31:55 +0000 (08:31 -0500)] 
version 0.3.2

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agos390 uatomic: fix new compiler support
Mathieu Desnoyers [Tue, 8 Dec 2009 00:10:00 +0000 (19:10 -0500)] 
s390 uatomic: fix new compiler support

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoAdd extern "C" to support linking userspace RCU library with C++ applications
Mathieu Desnoyers [Mon, 7 Dec 2009 14:39:20 +0000 (09:39 -0500)] 
Add extern "C" to support linking userspace RCU library with C++ applications

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agos390 uatomic arch fix
Mathieu Desnoyers [Mon, 7 Dec 2009 03:26:23 +0000 (22:26 -0500)] 
s390 uatomic arch fix

    In file included from urcu-static.h:40,
                     from urcu.c:35:
    ./urcu/uatomic_arch.h: In function ‘_uatomic_exchange’:
    ./urcu/uatomic_arch.h:88: warning: dereferencing ‘void *’ pointer
    ./urcu/uatomic_arch.h:89: warning: dereferencing ‘void *’ pointer
    ./urcu/uatomic_arch.h:89: error: expected ‘:’ or ‘)’ before ‘(’ token
    ./urcu/uatomic_arch.h: In function ‘_uatomic_cmpxchg’:
    ./urcu/uatomic_arch.h:131: warning: dereferencing ‘void *’ pointer
    ./urcu/uatomic_arch.h:132: warning: dereferencing ‘void *’ pointer
    ./urcu/uatomic_arch.h:132: error: expected ‘:’ or ‘)’ before ‘(’ token

Use same hidden pointer technique used for x86.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoFix s390 uatomic ops new compiler support
Mathieu Desnoyers [Sun, 6 Dec 2009 23:35:31 +0000 (18:35 -0500)] 
Fix s390 uatomic ops new compiler support

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agos390 uatomic: short memory operand support for new compilers
Mathieu Desnoyers [Wed, 2 Dec 2009 17:37:46 +0000 (12:37 -0500)] 
s390 uatomic: short memory operand support for new compilers

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agos390: uatomic add missing xchg return
Mathieu Desnoyers [Tue, 1 Dec 2009 19:09:47 +0000 (14:09 -0500)] 
s390: uatomic add missing xchg return

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agos390: uatomic add missing inline and other { }
Mathieu Desnoyers [Tue, 1 Dec 2009 17:26:25 +0000 (12:26 -0500)] 
s390: uatomic add missing inline and other { }

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoupdate s390 ifdefs
Mathieu Desnoyers [Tue, 1 Dec 2009 17:22:17 +0000 (12:22 -0500)] 
update s390 ifdefs

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agos390: add block after label
Jon Bernard [Tue, 1 Dec 2009 17:20:09 +0000 (12:20 -0500)] 
s390: add block after label

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agosparc,ppc,s390: uatomic ops update
Mathieu Desnoyers [Tue, 1 Dec 2009 16:19:07 +0000 (11:19 -0500)] 
sparc,ppc,s390: uatomic ops update

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agoUpdate arch_s390.h, missing definitions
Mathieu Desnoyers [Tue, 1 Dec 2009 15:47:21 +0000 (10:47 -0500)] 
Update arch_s390.h, missing definitions

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
14 years agos390: fix config.h include
Mathieu Desnoyers [Tue, 1 Dec 2009 13:42:51 +0000 (08:42 -0500)] 
s390: fix config.h include

 gcc -DHAVE_CONFIG_H -I. -I./urcu -I./urcu -g -O2 -c urcu.c  -fPIC -DPIC -o
  .libs/urcu.o
In file included from urcu-static.h:38,
                 from urcu.c:35:
./urcu/arch.h:32:27: error: config/config.h: No such file or directory

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoUpdate version to 0.3.1 v0.3.1
Mathieu Desnoyers [Mon, 16 Nov 2009 20:31:35 +0000 (15:31 -0500)] 
Update version to 0.3.1

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoSupport sparcv9 32-bit build
Mathieu Desnoyers [Mon, 16 Nov 2009 20:27:50 +0000 (15:27 -0500)] 
Support sparcv9 32-bit build

From: David Miller <davem@davemloft.net>
Subject: Re: [ltt-dev] Sparc64 support added to Userspace RCU

From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Date: Thu, 22 Oct 2009 15:57:53 -0400

> Feedback is welcome,

__sparc_v8__ does not mean 64-bit longs or pointers as implied here:

"v8" was the last 32-bit standard of the cpu architecture.

Otherwise looks fine.

Although this port won't be very useful until it can be built in
32-bit mode.  As most applications on sparc64 systems are still
32-bit.  Like on powerpc, people only rarely build things 64-bit on
sparc64.

You need to build with "-Wa,-Av9a" on the GCC command line for that
case so that the assembler allows the v9 instructions emitted by your
macros, even when building for 32-bit.

Hope this helps.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: David Miller <davem@davemloft.net>
15 years agoUpdate readme
Mathieu Desnoyers [Thu, 12 Nov 2009 04:24:21 +0000 (23:24 -0500)] 
Update readme

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agocross-compilation: use $host instead of $target
Pierre-Marc Fournier [Wed, 11 Nov 2009 22:48:40 +0000 (17:48 -0500)] 
cross-compilation: use $host instead of $target

$target should be used only when building a compiler. It indicates
the target system for which the compiler will build executables.

$host is the variable that should be used to indicate the type of
system the package we are compiling now will run on.

Also, update the README to say to use --host instead of --target.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoUpdate version to 0.3.0 v0.3.0
Mathieu Desnoyers [Tue, 3 Nov 2009 14:49:57 +0000 (09:49 -0500)] 
Update version to 0.3.0

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agourcu-defer: generate linker error if call_rcu() is used
Mathieu Desnoyers [Tue, 3 Nov 2009 14:49:01 +0000 (09:49 -0500)] 
urcu-defer: generate linker error if call_rcu() is used

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoupdate README for defer_rcu()
Mathieu Desnoyers [Fri, 23 Oct 2009 17:39:04 +0000 (13:39 -0400)] 
update README for defer_rcu()

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoMark defer_rcu() API as experimental.
Mathieu Desnoyers [Fri, 23 Oct 2009 17:38:05 +0000 (13:38 -0400)] 
Mark defer_rcu() API as experimental.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoDocument urcu-defer usage with dlclose()
Mathieu Desnoyers [Fri, 23 Oct 2009 12:27:20 +0000 (08:27 -0400)] 
Document urcu-defer usage with dlclose()

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoAdd defer_rcu_ratelimit()
Mathieu Desnoyers [Fri, 23 Oct 2009 12:17:29 +0000 (08:17 -0400)] 
Add defer_rcu_ratelimit()

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoupdate readme for rcu_defer()
Mathieu Desnoyers [Fri, 23 Oct 2009 12:05:19 +0000 (08:05 -0400)] 
update readme for rcu_defer()

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agourcu-defer: remove call_rcu() API, replace by defer_rcu()
Mathieu Desnoyers [Fri, 23 Oct 2009 11:57:28 +0000 (07:57 -0400)] 
urcu-defer: remove call_rcu() API, replace by defer_rcu()

Ensure we do not expose an API different from the kernel with the same name and
different semantic.

defer_rcu() cannot be called from within a RCU read-side C.S..

call_rcu() should eventually be re-implemented with struct rcu_head, permitting
to be called from within a RCU read-side C.S.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoSparc64: complete and test implementation
Mathieu Desnoyers [Thu, 22 Oct 2009 19:50:05 +0000 (15:50 -0400)] 
Sparc64: complete and test implementation

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoAdd basic sparc64 support
Mathieu Desnoyers [Thu, 22 Oct 2009 19:11:08 +0000 (15:11 -0400)] 
Add basic sparc64 support

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoupdate version to 0.2.4 v0.2.4
Mathieu Desnoyers [Mon, 19 Oct 2009 23:44:11 +0000 (19:44 -0400)] 
update version to 0.2.4

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agouatomic compat: complete i386 support
Mathieu Desnoyers [Mon, 19 Oct 2009 23:43:34 +0000 (19:43 -0400)] 
uatomic compat: complete i386 support

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agouatomic: update atomic set/read, use STORE_SHARED/LOAD_SHARED
Mathieu Desnoyers [Mon, 19 Oct 2009 23:39:15 +0000 (19:39 -0400)] 
uatomic: update atomic set/read, use STORE_SHARED/LOAD_SHARED

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoversion 2.2.3 v0.2.3
Mathieu Desnoyers [Wed, 14 Oct 2009 22:21:55 +0000 (18:21 -0400)] 
version 2.2.3

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoFix gcc-4.1 x86_64 compability
Mathieu Desnoyers [Tue, 13 Oct 2009 16:19:29 +0000 (12:19 -0400)] 
Fix gcc-4.1 x86_64 compability

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoRemove ACLOCAL_AMFLAGS=-I m4 from Makefile.am
Mathieu Desnoyers [Tue, 13 Oct 2009 14:02:58 +0000 (10:02 -0400)] 
Remove ACLOCAL_AMFLAGS=-I m4 from Makefile.am

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoFixes to allow building on Power
Paul E. McKenney [Mon, 12 Oct 2009 21:32:44 +0000 (17:32 -0400)] 
Fixes to allow building on Power

Add errno.h to a number of files, and remove build dependency on m4.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoUsing AM_PROG_MKDIR_P for compatibility
Mathieu Desnoyers [Mon, 12 Oct 2009 20:48:40 +0000 (16:48 -0400)] 
Using AM_PROG_MKDIR_P for compatibility

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agotests: change some top_builddir to top_srcdir
Pierre-Marc Fournier [Fri, 9 Oct 2009 22:36:17 +0000 (18:36 -0400)] 
tests: change some top_builddir to top_srcdir

We didn't have problems with this error because the VPATH saved us.
But let's be clean anyway.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoupdate README about futex
Mathieu Desnoyers [Fri, 9 Oct 2009 15:48:59 +0000 (11:48 -0400)] 
update README about futex

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoUse mkdir_p (old) for older automake support
Mathieu Desnoyers [Fri, 9 Oct 2009 15:18:55 +0000 (11:18 -0400)] 
Use mkdir_p (old) for older automake support

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoStay safe on i686 fence compatibility
Mathieu Desnoyers [Fri, 9 Oct 2009 15:11:37 +0000 (11:11 -0400)] 
Stay safe on i686 fence compatibility

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoAdd AC_CONFIG_MACRO_DIR([m4]), re-add ACLOCAL_AMFLAGS
Mathieu Desnoyers [Fri, 9 Oct 2009 15:05:48 +0000 (11:05 -0400)] 
Add AC_CONFIG_MACRO_DIR([m4]), re-add ACLOCAL_AMFLAGS

Fixes warning:
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `config'.
libtoolize: copying file `config/ltmain.sh'
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoUpdate Makefile.am
Mathieu Desnoyers [Fri, 9 Oct 2009 14:53:58 +0000 (10:53 -0400)] 
Update Makefile.am

- remove aclocal -I m4
- fix api.h dependency

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoAC_PROG_MKDIR_P needed with automake 1.9
Mathieu Desnoyers [Fri, 9 Oct 2009 14:33:02 +0000 (10:33 -0400)] 
AC_PROG_MKDIR_P needed with automake 1.9

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoUpdate rcutorture: test all RCU flavors
Mathieu Desnoyers [Fri, 9 Oct 2009 14:23:09 +0000 (10:23 -0400)] 
Update rcutorture: test all RCU flavors

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoMake urcu/config.h work.
Mathieu Desnoyers [Thu, 8 Oct 2009 22:08:23 +0000 (18:08 -0400)] 
Make urcu/config.h work.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoCompat futex
Mathieu Desnoyers [Thu, 8 Oct 2009 21:36:31 +0000 (17:36 -0400)] 
Compat futex

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agomove config.h to urcu/config.h and install it
Pierre-Marc Fournier [Thu, 8 Oct 2009 20:40:15 +0000 (16:40 -0400)] 
move config.h to urcu/config.h and install it

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoSupport for sys_futex autodetection
Mathieu Desnoyers [Thu, 8 Oct 2009 19:18:56 +0000 (15:18 -0400)] 
Support for sys_futex autodetection

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoRemove whitespace
Mathieu Desnoyers [Thu, 8 Oct 2009 13:22:05 +0000 (09:22 -0400)] 
Remove whitespace

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoupdate readme
Mathieu Desnoyers [Thu, 8 Oct 2009 05:11:03 +0000 (01:11 -0400)] 
update readme

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoupdate readme
Mathieu Desnoyers [Thu, 8 Oct 2009 05:10:26 +0000 (01:10 -0400)] 
update readme

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
15 years agoUpdate configure.ac
Mathieu Desnoyers [Thu, 8 Oct 2009 05:04:54 +0000 (01:04 -0400)] 
Update configure.ac

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
This page took 0.042079 seconds and 4 git commands to generate.