近日,資深核心開發者 Ingo Molnar 提交了一個含有 2,297 個補丁的巨大補丁集,並將之命名為"Fast Kernel Headers"。他表示自己從 2020 年底就啟動了這個專案,這是對 Linux 核心的標頭檔案層次結構和標頭檔案依賴項的全面重塑,旨在加速 Linux 的構建時間和解決“依賴地獄”問題。
什麼是“依賴地獄”?
Molnar在補丁信中寫道:"大多數核心開發者都知道,Linux核心中大約有1萬個主要的.h標頭檔案,在include/和arch/*/include/層次中。在過去的30多年裡,它們已經成長為一套複雜而痛苦的交叉依賴關係,我們親切地稱之為"依賴地獄"。
這個巨大的補丁集將許多高階標頭檔案與其他檔案解耦、取消了不必要的函式、將型別和 API 標頭檔案解耦、自動處理標頭檔案依賴,以及其他各種變化,因此,與當前核心相比,啟用了"Fast Kernel Headers"補丁的核心構建量每小時可能有 78% 的改進。在所支援的架構上,絕對的核心構建效能有可能提高 50~80%。
到目前為止,"Fast Kernel Headers"已經在 x86/x86_64、SPARC、MIPS 和 ARM64 架構上進行了測試。
這套龐大的補丁涉及到大部分的Linux核心程式碼庫,加快了Linux核心編譯的速度(包括清潔構建和增量構建)。它最初是以"徵求意見"的方式發出的,憑藉如此大範圍的核心構建時間改進的能力,所以很多開發者希望這個補丁集能夠在不遠的將來以某種方式被審查後,順利進入核心主線。
更多內容請檢視:https://lkml.org/lkml/2022/1/...