Userspace RCU
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.
The liburcu project has been started by Mathieu Desnoyers.
Documents
Binary packages
liburcu is available as a Debian package named liburcu0. The development files are available in package liburcu-dev.
Source
Repository
The library is available for download in this git repository :
- git clone git://lttng.org/userspace-rcu.git
Mailing list
To the question "why is this hosted on the LTTng website ?", the answer is : the userspace RCU library was needed for the LTTng userspace tracer port. The userspace tracer implementation is therefore the motivation and first user of liburcu.
