Show Your Support: Did you know that the hundreds of articles written on Phoronix each month are mostly authored by one individual? Phoronix.com doesn't have a whole news room with unlimited resources and relies upon people reading our content without blocking ads and alternatively by people subscribing to Phoronix Premium for our ad-free service with other extra features.
It Needs A Restart: GLIBC Drops Support For 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.