甲骨文研發(fā)的 CleanCache 被夸大宣傳十年后將從 Linux 內核中清除
十年前,CleanCache 補丁系列被并入 Linux 內核主線,但現(xiàn)在它將退役。今天,作為 Andrew Morton 補丁的一部分,合并到 Linux-Next 中的 CleanCache 被移除了。為什么?因為它已經(jīng)沒有用戶了。自從 2019 年移除 Xen Transcendent Memory(TMEM)驅動代碼后,CleanCache 已經(jīng)沒有任何用戶了,但代碼仍然在內核中賦閑。
CleanCache 是由甲骨文的工程師開發(fā)的,在推出時,他們宣布它是"非常酷的東西,有巨大的潛力使運行的虛擬機大幅優(yōu)化/性能/效率,是相當多的研究和實驗的結果。"
它在內核的文檔更保守地將其總結為:"CleanCache 是由 VFS 層提供的一個新的可選功能,它有可能為許多環(huán)境中的許多工作負載大大增加頁面緩存的有效性,而成本可以忽略不計。CleanCache 可以被認為是一個頁面粒度的受害者緩存(Victim Cache),一個與直接匹配或低相聯(lián)緩存并用的、容量很小的全相聯(lián)緩存。用于存放內核的頁框替換算法(PFRA)想要保留但由于沒有足夠的內存而無法保留的干凈頁面。因此,當 PFRA"驅逐"一個頁面時,它首先試圖使用 CleanCache 代碼將該頁面中包含的數(shù)據(jù)放入內核不能直接訪問或尋址的內存,其大小未知且可能隨時間而變化。
但是,在被甲骨文公司吹噓了十年后的今天,沒有內核代碼使用它,因此它將退役,隨著它在 Linux-Next 中作為 AKPM 補丁的一部分被移除,它很可能在 Linux 5.17 中被主線移除。
Linux 內核網(wǎng)站文檔:
https://www.kernel.org/doc/html/latest/vm/cleancache.html
甲骨文網(wǎng)站發(fā)布時的新聞稿:
https://blogs.oracle.com/wim/post/another-feature-hit-mainline-linux-cleancache-transcendent-memory