新的補丁旨在減少編譯Linux內核時的內存佔用
Thomas Weißschuh今天發出了一組補丁,旨在減少編譯Linux內核時的最大內存用量。反過來,對於試圖編譯內核的內存受限的系統,這可以帶來更少的交換過程和更快的構建時間。特別之處在於他瞄準了用objtool處理vmlinux.o對象的內存使用,這是內核構建過程中最密集的內存步驟。
訪問新聞組以了解更多:
https://lore.kernel.org/lkml/20221216-objtool-memory-v2-0-17968f85a464@weissschuh.net/
這組8個補丁對objtool的代碼進行了調整,以減少內存的使用。特別是,在objtool代碼中,從循環中的malloc()切換到循環外的calloc(),在處理vmlinux.o時,峰值內存使用量減少了3.7%。
在另一個由Thomas建立的內核中,減少了struct reloc的內存使用量又減少了3.8%。優化結構符號的佈局降低了0.5%的內存使用量,同時還有其他一些優化。
這個正在審查的補丁系列應該有助於減少編譯Linux內核時的峰值內存使用,並反過來幫助構建,特別是對於內存數量有限的系統,否則在構建過程中可能會遇到交換問題,反過來會導致構建速度下降。