Linux 內核的“THP_SWAP”選項允許在一塊中交換透明的大頁面而無需拆分。在 Linux 5.20 中,64 位 Arm 內核 (ARM64/AArch64) 現在將支持此選項作為性能優化。
作為 ARM64 的 for-next 的一部分排隊/mm 為 64 位 Arm 內核構建啟用 THP_SWAP 選項。上週排隊的“-next”代碼中的更改解釋說:“THP_SWAP 已被證明可以顯著提高 x86_64 上的交換吞吐量……只要 arm64 使用 4K 頁面大小,它與 x86_64 非常相似
通過擁有 2MB PMD THP。THP_SWAP 是獨立於架構的,因此,在 arm64 上啟用它也會使 arm64 受益。”
一位英特爾工程師在 2017,”在這個補丁中,從將 THP 添加到交換緩存中到換出完成後,在換出期間拆分透明大頁 (THP) 會延遲。補丁後,對於匿名THP回收的更多操作,例如將THP寫入交換設備,從交換緩存中刪除THP,可以批量處理。這樣可以提高匿名THP換出的性能……通過補丁集,在 16 個進程的 vm-scalability swap-w-seq 測試用例中,swap out 吞吐量提高了 42%(從大約 5.81GB/s 到大約 8.25GB/s)。同時,IPI(反射 TLB 刷新)減少了大約78.9%。”
在 Rockchip 四核 Cortex-A55 平台上進行的簡單交換測試發現,這種排隊的內核更改提高了 22%。
適用於 ARM64 的 THP_SWAP 和其他增強功能將在 Linux 5.20 內核中推出,其合併窗口將於下周啟動。