近日,据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(透明大页)支持中获益匪浅。
然而,这一显著的性能提升并非毫无代价。在某些特定工作负载下,例如cactusBSSN基准测试,性能竟出现了高达600%的下滑。经过深入分析,原因在于该基准测试创建了诸多4632kB的映射。在补丁应用之前,这些映射能够合并成单一的THP支持区域;而现在,它们却被分割成多个对齐于PMD边界的小块,由此产生的间隙导致了性能的大幅下降。
针对这一问题,英特尔迅速作出反应,并提出了有效的解决方案。他们建议,在映射大小的设定上增加一个条件,即映射必须严格为PMD大小的整数倍,而非仅仅满足“至少为PMD大小”这一宽泛要求。通过这一调整,那些非标准尺寸的映射将不再被强制对齐并产生间隙,而是能够自然地重新合并,从而有效避免性能上的损失。