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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/