Phoronix近日报道称,英特尔的Linux内核测试机器人揭示了一个惊人的性能提升——在主线Linux内核上,性能提高了高达3888.9%。这一显著的性能飞跃是在Intel Xeon Platinum (Cooper Lake)测试服务器上运行“will-it-scale.per_process_ops”可扩展性测试用例时观测到的。
据测试机器人指出,这一巨大的性能提升主要归功于一个关键的代码提交:“mm, mmap: limit THP alignment of anonymous mappings to PMD-aligned sizes”。该补丁自提交以来,对没有特定地址提示且至少为PMD_SIZE的匿名内存进行了优化,使其能够与PMD对齐,从而从THP(Transparent Hugepages,透明大页)支持中受益。
然而,值得注意的是,这一性能提升并非没有代价。在某些特定的工作负载下,如cactusBSSN基准测试,性能反而下降了600%。据分析,这主要是因为该基准测试创建了许多4632kB的映射,这些映射在补丁提交之前会合并成一个大的THP-backed区域,而现在它们被分割成了多个与PMD边界对齐的区域,中间存在间隙,从而导致了性能的下降。
面对这一问题,英特尔也迅速提出了解决方案。他们建议添加一个条件,即映射的大小必须是PMD大小的倍数,而不是仅仅是至少为PMD大小。这一改变将使得那些非标准大小的映射不再对齐并留有间隙,而是能够自然地再次合并,从而避免性能损失。
评论