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.

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

The liburcu project has been started by Mathieu Desnoyers.

Documents

Binary packages

liburcu is available as a Debian package named liburcu1. The development files are available in package liburcu-dev.

A package is also availa