GNU Cauldron 2019 - Adding Linux restartable sequence (rseq) support in glibc
on 13 September 2019
Restartable Sequences, a system call speeding up user-space operations on
per-CPU data, made its way into the 4.18 Linux kernel.
This talk describes the basics of the rseq algorithm, going through the
integration proposed for glibc 2.31. It presents the use-cases covered by the
rseq system call, including memory allocators, per-CPU ring buffers, or just
speeding up getting the current CPU number. Integration needed within GDB and
emulators will also be discussed.
A discussion follows on the limitations of the current rseq system call,
presenting missing pieces of kernel infrastructure required to cover additional