从K Prateek Nayak提供的解释来看,Linux之前的内核调度对多插槽处理器的NUMA节点是有问题的,分配时容易让部分CPU任务集中,但部分CPU就会闲置,导致利用不够。
他提交的一些代码就修复了这个问题,可以检查本地组织中允许的CPU数量是否少于运行中的任务数,来避免CPU堆积。
从实际测试来看,这几行代码就产生了巨大的作用,Stream任务中内存基准测试性能提升了36-44%。
虽然这个代码是AMD工程师提交的,导致了AMD的Zen架构处理器性能大涨,不过这对Intel的至强处理器也是有用的,多插槽情况下IceLlake架构的至强Stream性能比当前Linux下提升54-82%,效果比AMD Zen处理器还狠。