[lttng-dev] [RELEASE] Userspace RCU 0.7.6

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Wed Jan 9 13:46:17 EST 2013


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.

liburcu-cds provides efficient data structures based on RCU and
lock-free algorithms. Those structures include hash tables, queues,
stacks, and doubly-linked lists.

This is a bugfix release, mainly fixing handling of processes using
call_rcu, then fork() without following exec(), and then continuing use
of synchronize_rcu() or call_rcu() in the child process. A hang in
synchronize_rcu() in the child could occur, which is fixed by this
release.

Changelog:
2013-01-09 Userspace RCU 0.7.6
        * Discourage use of pthread_atfork() for call_rcu handlers
        * Fix call_rcu fork handling
        * test: fork handling
        * Fix TLS detection: test with linker, add --disable-compiler-tls
        * Cleanup: cast pthread_self() return value to unsigned long
        * Fallback mechanism not working on platform where TLS is unsupported

Project website: http://lttng.org/urcu
Download link: http://lttng.org/files/urcu/

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list