在 Linux 5.15 合并窗口中,一組關(guān)于 Kernfs 性能改進(jìn)的補(bǔ)丁通過(guò)驅(qū)動(dòng)程序核心 PR 合并,可解決大型 IBM 服務(wù)器引導(dǎo) Linux 內(nèi)核過(guò)慢的問(wèn)題。
在 Linux 內(nèi)核中,kernfs 是一組函數(shù),其中包含創(chuàng)建各種內(nèi)核子系統(tǒng)內(nèi)部使用的偽文件系統(tǒng)所需的功能。它通過(guò)將硬件設(shè)備和相關(guān)設(shè)備驅(qū)動(dòng)程序的信息從內(nèi)核的設(shè)備模型導(dǎo)出到用戶空間來(lái)提供一組虛擬文件,成為一個(gè)獨(dú)立且可重用的功能,因此其他內(nèi)核子系統(tǒng)可以更輕松、更一致地實(shí)現(xiàn)自己的偽文件系統(tǒng)。
此前,具有 “數(shù)百個(gè) CPU 和 64TB RAM” 的大型 IBM Power 系統(tǒng)需要 30 多分鐘才能啟動(dòng) Linux 內(nèi)核,而且還需要額外的內(nèi)核參數(shù)以避免內(nèi)核在啟動(dòng)時(shí)超時(shí)。而造成該問(wèn)題的原因即在于對(duì)不存在的文件進(jìn)行多次路徑查找以及 VFS 代碼中的鎖競(jìng)爭(zhēng)。更糟糕的是,IBM Power 會(huì)將 64TB 的系統(tǒng)內(nèi)存分成 256MB 的本地塊,導(dǎo)致大量的 sysfs 節(jié)點(diǎn)創(chuàng)建。
而此次更改涉及將 Kernfs 互斥體切換為使用讀寫信號(hào)量以允許并行節(jié)點(diǎn)搜索、改善路徑解析以及使用 VFS 緩存。通過(guò)這些優(yōu)化,大型 IBM 系統(tǒng)的啟動(dòng)時(shí)間可縮短到 5 分鐘以內(nèi)。
更多詳細(xì)內(nèi)容,可查看該補(bǔ)丁集。
本文地址:https://www.oschina.net/news/158319/linux-5-15-kernfs-improvement