[ltt-dev] [RELEASE] Userspace RCU 0.6.0
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Fri Jun 10 21:14:18 EDT 2011
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/
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list