64位ARM Linux内核团队反对CPU特定优化 因为这相当难以维护

站长云网 2023-11-22 5iter.com 站长云网

在Linuxx86_64内核中,针对特定微体系结构的优化非常普遍,英特尔和AMDCPU系列都采用了各种性能技巧,而ARM64Linux内核维护者却反对引入新的特定微体系结构优化,因为这会影响到新的ARM处理器。

AmpereComputing发送了一组4个补丁,为其新的AmpereOne服务器处理器提供优化。AmpereComputing发现,当使用4K页面大小时,这些新的高内核数ARM服务器处理器可以从积极的预取中获益。据报告,在连续读取性能测试中,使用HugeTLB或Tmpfs的收益"高达1.3~1.4倍"。

测试结果显示,在hugetlb或tmpfs中,我们可以将连续读取性能大幅提升至1.3x~1.4x。虽然这些提升对于增强AmpereOneLinux性能来说令人兴奋,但目前看来,这项工作不会被上传到主线Linux内核中。

著名的ARMLinux内核开发人员WillDeacon就AmpereOneCPU的性能增强补丁发表了自己的看法:

"我们倾向于回避arm64内核中针对微体系结构的优化,因为这些优化非常难以维护,难以正确测试,通常会导致臃肿,并为更新我们的库例程增加额外的障碍。

诚然,我们在copy_page()(伪装成ARM64_HAS_NO_HW_PREFETCH)中为Thunder-X1提供了一些帮助,但坦率地说,那台机器需要一切可以得到的帮助。

因此,我真的不希望合并;现代CPU在复制数据方面应该做得更好。这是copy_to_user(),不是火箭科学。"

ARM的马克-拉特兰(MarkRutland)也同意Deacon的说法,并赞同取消Thunder-X1的针对性优化。内核开发人员MarcZyngier也表示同意,并已在开发一个补丁,以删除Thunder-X1的特定代码。

为了保持代码的可维护性,避免ARM64Linux内核代码过于复杂,他们不再追求CPU/微体系结构的特定优化。未来是否会有任何专注于ARMLinux的发行版自身携带此类补丁,或者任何经过AmpereOne优化的Linux发行版继续向前发展值得关注。特别是考虑到Ampere专注于高性能和高能效的ARMLinux服务器很可能不希望留下任何优化的痕迹,尤其是考虑到他们的目标是与AMDEPYC和IntelXeon服务器竞争。

责任编辑:站长云网