[ltt-dev] [RELEASE] Userspace RCU 0.6.0

Cui, Dexuan dexuan.cui at intel.com
Sun Jun 12 22:06:09 EDT 2011

Mathieu Desnoyers wrote:
> liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library. This
> data synchronization library provides read-side access which scales
> linearly with the number of cores. It does so by allowing multiples
> copies of a given data structure to live at the same time, and by
> monitoring the data structure accesses to detect grace periods after
> which memory reclamation is possible.
> Changelog:
> - Added call_rcu() support, graciously contributed by Paul E.
> McKenney. 
> - Added urcu/cds.h and merged all "Concurrent Data Containers" (CDS)
>   into a single .so: liburcu-cds.so to have a single header/shared
>   object holding all concurrency-aware data containers. It provides
>   support for RCU lists, queues and stacks at the moment.
> - liburcu 0.6.0 now allows linking a single application with multiple
>   flavors of RCU. This required a library API change which is
>   incompatible with older 0.5.x liburcu. The .so version number
>   is therefore bumped from 0 to 1 (e.g. liburcu.so.1).
> - Added "atfork" handling API, documented in README. Only useful for
>   processes using fork() without following exec().
> - Renaming the following files, keeping the old files (producing a
>   compiler warning):
>     urcu/uatomic_arch.h -> urcu/uatomic.h
>     urcu/urcu-futex.h -> urcu/futex.h
>     urcu/urcu_ref.h -> urcu/ref.h
> Project website: http://lttng.org/urcu
> Download link: http://www.lttng.org/files/urcu/

Hi Mathieu,
The release can't build in my side:

$ tar -jxf userspace-rcu-0.6.0.tar.bz2 && cd userspace-rcu-0.6.0 && ./configure && make

make  all-recursive
make[1]: Entering directory `/home/dcui/userspace-rcu-0.6.0'
Making all in .
make[2]: Entering directory `/home/dcui/userspace-rcu-0.6.0'
  CC     wfqueue.lo
  CC     wfstack.lo
  CC     rculfqueue.lo
  CC     rculfstack.lo
  CCLD   liburcu-cds.la
  CC     urcu.lo
urcu.c:438:32: error: urcu-call-rcu-impl.h: No such file or directory
urcu.c:439:29: error: urcu-defer-impl.h: No such file or directory
make[2]: *** [urcu.lo] Error 1
make[2]: Leaving directory `/home/dcui/userspace-rcu-0.6.0'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/dcui/userspace-rcu-0.6.0'
make: *** [all] Error 2

Can you please have a look?

-- Dexuan

More information about the lttng-dev mailing list