It Needs A Restart: GLIBC Drops Support For Restartable Sequences

Written by Michael Larabel in GNU on 17 July 2020 at 06:51 AM EDT. 6 Comments
GNU
Well this is a huge Friday morning bummer: the GNU C Library (glibc) is dropping support for the very interesting Restartable Sequences (RSEQ) as some design changes need to be made, thus restarting work on restartable sequences.

Restartable Sequences were introduced into the kernel back in Linux 4.18 for allowing various performance benefits with this system call allowing for faster user-space operations on per-CPU data by avoiding expensive atomic operations. For work like querying the current CPU number, incrementing per-CPU counters, writing/reading to the per-CPU ring buffers, and other work can all be made faster by RSEQ. The performance improvements are looking very good with RSEQ in the kernel when taken advantage of.


For making it easier to utilize Restartable Sequences from user-space, glibc was adding support for it to make it easier for developers to make use of. Glibc's RSEQ support had been going through a lot of work before merged.

Two weeks ago the RSEQ support finally made it into Glibc, but already was reverted today. Red Hat's Florian Weimer commented in removing the support, "Linux: Remove rseq support. The kernel ABI is not finalized, and there are now various proposals to change the size of struct rseq, which would make the glibc ABI dependent on the version of the kernels used for building glibc. This is of course not acceptable."

Thus over concerns of potential ABI breakage should the kernel interfaces be changed, the GNU C Library's RSEQ support is sadly being removed for now... We'll see how long it takes to get the code back in there but given that it will likely be tied to a newer version of the kernel, unfortunate that it will take yet more time before widespread adoption of this feature beneficial to performance.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week