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