英特尔的开源软件工程师以对Linux内核进行许多出色的性能优化而闻名。多年来,英特尔对内核和相关Linux组件进行了无数次性能优化,这些优化不仅对英特尔硬件,而且对整个x8_64进行了重大改进,有时还对CPU体系结构进行了独立改进。他们最新的性能优化补丁系列之一是围绕每CPU页面集(PCP)的高自动调整。
新的补丁系列专注于自动调整每个CPU上的每个CPU页面设置,以优化页面分配性能。
最终结果发现,Intel Sapphire Rapids测试系统上的Linux内核构建时间减少了5%,锁定争用率也降低了,Netperf性能提高了7%,lmbench测试用例得分为基本得分的196%。
不同工作负载的页面分配性能要求往往不同。因此,我们需要自动将每个CPU上的PCP(Per-CPU Pageset)调高,以优化页面分配性能。
系列补丁的列表如下,
1 mm,pcp:避免在工艺退出时排放pcp
2 cacheinfo:计算每个CPU的数据缓存大小
3 mm,pcp:减少用于排出高阶页面的锁争用
4毫米:限制pcp批处理比例因子以避免过长的延迟
5 mm,page_alloc:缩放批量分配的页数
6毫米:添加PCP高自动调谐框架
7毫米:将PCP自动调高
8毫米,pcp:如果有9毫米的空闲页面,则降低pcp高,pcp:避免不必要地降低pcp高
10mm,pcp:减少连续高位页面释放的检测时间修补程序1/2/3优化PCP排水,以释放连续的高阶页面。
补丁4/5优化批量释放和分配。
补丁6/7/8/9实现并优化PCP高自动调谐方法。
修补程序10基于PCP高位自动调整优化PCP排出,以实现连续高位页面释放。
看见
补丁系列
out for testing. Exciting to see the relentless optimizations to the Linux kernel driven in large part by Intel.