【ITBEAR】近日,據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大小”這一寬泛要求。通過這一調整,那些非標準尺寸的映射將不再被強制對齊并產生間隙,而是能夠自然地重新合并,從而有效避免性能上的損失。