5–7 Oct 2026
Europe/Prague timezone

RCU Transactions: Bridging the gap between RCU and STM

Not scheduled
45m
LPC Refereed Track LPC Refereed Track

Speaker

Mathieu Desnoyers (EfficiOS Inc.)

Description

RCU data structures are notoriously complex to design mainly due to the
need to carefully manage how mutations are made observable to concurrent
readers.

As a general solution to this problem, I am proposing a novel
transaction-based synchronisation mechanism: "RCU Transactions"
(urcu_txn).

It applies both to userspace and kernel. It allows publishing complex
data structure mutations atomically to RCU readers, and synchronizing
updates from multiple writers, with minimal overhead on the read-side
(low-bit pointer tag check, predicted branch on rcu_dereference), and no
size overhead on the data structure nodes. It is composable: an object
can belong to multiple transaction-aware data structures, and
transactions allow it to become visible (or hidden) atomically.

Author

Mathieu Desnoyers (EfficiOS Inc.)

Presentation materials

There are no materials yet.