The New Restartable Sequences System Call Is Living Up To Its Performance Claims
Introduced in the Linux 4.18 kernel was the Restartable Sequences "rseq" system call intended to yield faster user-space operations on per-CPU data. As covered during a presentation at this week's Open-Source Summit Europe, that system call is indeed providing performance wins while it's not widely utilized yet.
The restartable sequences system call allows for faster performance in per-CPU data updates from user-space for items like incrementing per-CPU counters, modifying data protected by per-CPU spinlocks, reading/writing per-CPU ring buffers, and similar operations while the kernel guarantees atomic behavior. The RSEQ system call was merged for Linux 4.18 while in the newly-released Linux 4.19 kernel the syscall is supported on ARM64 and other architectures.
There still is ongoing work for improving Restartable Sequences especially with utilizing this syscall from different key components in the Linux user-space, but it's looking like the performance benefits are worthwhile. Mathieu Desnoyers of EfficiOS presented at this week's Open-Source Summit Europe in Edinburgh where he covered this interesting kernel work. The benchmark results are what excited us the most:
Those wishing to learn more about the ongoing RSEQ syscall and weren't able to make it to Edinburgh for the event, Desnoyers' slide deck can be viewed here (PDF). There is also another presentation by Mathieu back from Linux Plumbers 2016 with more background information on this system call if you are interested in more reading this weekend.
The restartable sequences system call allows for faster performance in per-CPU data updates from user-space for items like incrementing per-CPU counters, modifying data protected by per-CPU spinlocks, reading/writing per-CPU ring buffers, and similar operations while the kernel guarantees atomic behavior. The RSEQ system call was merged for Linux 4.18 while in the newly-released Linux 4.19 kernel the syscall is supported on ARM64 and other architectures.
There still is ongoing work for improving Restartable Sequences especially with utilizing this syscall from different key components in the Linux user-space, but it's looking like the performance benefits are worthwhile. Mathieu Desnoyers of EfficiOS presented at this week's Open-Source Summit Europe in Edinburgh where he covered this interesting kernel work. The benchmark results are what excited us the most:
Those wishing to learn more about the ongoing RSEQ syscall and weren't able to make it to Edinburgh for the event, Desnoyers' slide deck can be viewed here (PDF). There is also another presentation by Mathieu back from Linux Plumbers 2016 with more background information on this system call if you are interested in more reading this weekend.
Add A Comment