,Linux内核已经在几年前合并了可重启序列,GNU C库已经使用RSEQ对每个CPU数据进行更快的用户空间操作RSEQ将在明年推出的Linux 6.3中得到进一步改进
通过增加每个CPU的计数器,修改每个CPU的自旋锁,读写每个CPU的环形缓冲区,避免原子操作,RSEQ可以明显优化性能,从而提供优秀的基准测试结果。
领导RSEQ大部分工作的马蒂厄·德斯诺耶斯最近一直致力于扩展可重启序列ABI,并发表了NUMA节点ID,mm_cid和mm_numa_cid字段。
本站了解到,Desnoyers在补丁介绍中说:
NUMA节点ID允许在libc中更快地获取cpu。
每个内存映射的并发id允许每个cpu的用户空间数据结构在理想情况下进行伸缩。
调度程序可以跟踪内存中分配的并发ID这个调度器根据并发运行的线程数,CPU亲和度,这些线程使用的CPU和逻辑核数等进行判断
NUMA感知并发id类似于mm_cid,只是它跟踪与每个cid相关联的NUMA节点id。
在NUMA系统上,当用户空间观察到NUMA感知并发ID与NUMA节点相关联时,它保证NUMA节点永远不会被更改,除非有内核级NUMA配置更改这对于在属于cpuset的一个进程或一组进程被固定到属于系统的NUMA节点子集的一组核心的环境中运行的NUMA感知的每cpu数据结构是有用的
声明:本网转发此文章,旨在为读者提供更多信息资讯,所涉内容不构成投资、消费建议。文章事实如有疑问,请与有关方核实,文章观点非本网观点,仅供读者参考。