【ITBEAR】近日,Linux 內(nèi)核迎來(lái)了一項(xiàng)性能提升的重大更新。據(jù)悉,該更新源自 Linus Torvalds 親手編寫(xiě)的一個(gè)補(bǔ)丁,僅通過(guò)修改數(shù)行代碼,便在英特爾的性能基準(zhǔn)測(cè)試中實(shí)現(xiàn)了高達(dá) 2.6% 的性能增幅。
此次補(bǔ)丁的核心優(yōu)化點(diǎn)在于避免了在 64 位 copy_from_user 函數(shù)中不必要的 barrier_nospec 調(diào)用。copy_from_user 函數(shù)在 Linux 內(nèi)核中扮演著將數(shù)據(jù)塊從用戶空間安全復(fù)制到內(nèi)核空間的關(guān)鍵角色。Torvalds 指出,原先的 barrier_nospec 函數(shù)在處理過(guò)程中存在效率瓶頸,拖慢了整體性能。
為了解決這一問(wèn)題,Torvalds 提出了一個(gè)巧妙的解決方案:在地址無(wú)效的情況下,利用 pointer masking 技術(shù)來(lái)強(qiáng)制用戶指針全為 1,從而規(guī)避了 barrier_nospec 的使用,提升了運(yùn)行效率。
目前,這項(xiàng)備受矚目的補(bǔ)丁已經(jīng)成功合并至 Linux Git 倉(cāng)庫(kù),并預(yù)計(jì)將在 11 月下旬隨 Linux 6.12 穩(wěn)定版一同發(fā)布。屆時(shí),廣大 Linux 用戶將能夠親身體驗(yàn)到這一性能提升帶來(lái)的實(shí)際效益。