据Phoronix报道,Intel的Linux内核测试机器人显示,在Intel Xeon Platinum (Cooper Lake)测试服务器上,主线Linux内核在“will-it-scale.per_process_ops”可扩展性测试中实现了高达3888.9%的性能提升。这一显著进步得益于一个关键的代码提交:“mm, mmap: limit THP alignment of anonymous mappings to PMD-aligned sizes”。
该补丁优化了内存管理的匿名映射对齐方式,使没有特定地址提示且至少为PMD_SIZE的匿名内存可以与PMD边界对齐,从而受益于透明大页(THP)支持,从而极大地提升了某些负载的性能。
然而,这一更改也在部分负载上引发了性能下降。比如,某些平台上的cactusBSSN基准测试性能下降了600%。原因在于,该基准测试创建了多个4.632MB的映射,这些映射在补丁提交前会自动合并成一个THP-backed区域,而新补丁使这些映射被分割成PMD对齐的多个小区域,导致了间隙和性能下降。
为解决这一问题,Intel提出进一步优化,即增加一个条件,让映射的大小不仅“至少为PMD大小”,还需是PMD大小的倍数。这将避免对不规则大小的映射进行对齐分割,使这些映射自然地再次合并,提升整体性能。