IT House reported on December 28 that Linux Kernel had incorporated the Restartable Sequences (RSEQ) a few years ago, and the GNU C Library has used RSEQ to perform faster user space operations on each CPU data. will further improve RSEQ in Linux 6.3, which will be launched next year.

RSEQ can significantly optimize performance by incrementing each CPU counter, modifying each CPU spin lock , reading/writing each CPU ring buffer, etc. to avoid atomic operations (atomic operations, which are operations that will not be interrupted by the thread scheduling mechanism), thus providing excellent benchmark results. Mathieu Desnoyers, who leads much of the work on RSEQ at
, has recently been working on extending the Restartable Sequences ABI and exposing the NUMA node ID, mm_cid and mm_numa_cid fields.

IT Home learned that Desnoyers stated in the patch introduction:
NUMA node ID allows faster getcpu (2) in libc.
per-memory-map concurrency id (mm_cid) allows user-space per-cpu data structures to be ideally scaled (down or up). Concurrency IDs allocated in
memory map can be tracked by the scheduler. This scheduler makes judgments based on parameters such as the number of concurrently running threads, CPU affinity, cpuset and number of logical cores applied to these threads .
NUMA-aware concurrency id (mm_numa_cid) Similar to mm_cid, except that it tracks the NUMA node ID associated with each cid.
On NUMA systems, when userspace observes a NUMA-aware concurrency ID associated with a NUMA node, it guarantees that the NUMA node will never be changed unless a kernel-level NUMA configuration change occurs. This is useful for NUMA-aware per-cpu data structures running in an environment where processes belonging to a cpuset or a set of processes are pinned to a set of cores belonging to a subset of the system's NUMA nodes.