Jason Donenfeld 是 WireGuard 的主要開發(fā)者,同時(shí)他也是 Linux 內(nèi)核隨機(jī)數(shù)相關(guān)代碼的維護(hù)者,近日在他的領(lǐng)導(dǎo)下,Linux 內(nèi)核的隨機(jī)數(shù)生成器代碼有了巨大幅度的改進(jìn)。 在之前的 Linux 5.17 中,Jason Donenfeld 就在隨機(jī)代碼用 BLAKE2s 代替了 SHA1,由于 BLAKE2s 自帶的特性,前者通常比后者更快更安全。經(jīng)過測(cè)試,通過這個(gè)簡單的轉(zhuǎn)換就能獲得 131% 左右的速度提升。 雖然在 Linux 5.17 中有了速度上的大幅提升,但 Jason Donenfeld 對(duì)此并沒滿足。因此在 Linux 5.18 中他對(duì)隨機(jī)代碼作出了更多的改進(jìn)。
通過查看 Linux 的random.git倉庫的日志能夠看出(上圖),開發(fā)者 Jason Donenfeld 在最近兩天時(shí)間里進(jìn)行了大量的代碼提交。這些提交內(nèi)容都將在 3 月下旬 Linux 5.18 的合并窗口啟動(dòng)時(shí)引入內(nèi)核。
在郵件中特別強(qiáng)調(diào)到,通過使用正在開發(fā)的最新代碼,用于獲取隨機(jī)字節(jié)的 getrandom() 調(diào)用能夠獲得更好的性能。在配備英特爾 Xeon E5-2697 v2 @ 2.70GHz CPU 和 112G 內(nèi)存的設(shè)備上進(jìn)行 stress-ng getrandom() 基準(zhǔn)測(cè)試后,更是獲得了 8450% 的性能提升。 此次更改基本上會(huì)將之前的全局結(jié)構(gòu)(實(shí)際上是 per-numa 節(jié)點(diǎn)結(jié)構(gòu))更改為 per-cpu 結(jié)構(gòu),這意味著快速路徑上的許多鎖都會(huì)消失。因此,當(dāng)在具備多核的 CPU 上同時(shí)嘗試 getrandom() 時(shí),毫無疑問性能會(huì)出現(xiàn)提升。只不過沒想到在測(cè)試中能帶來 8450% 的提升。 除此之外,當(dāng)從 per-numa 更改為 per-cpu 后,也將不再需要被推遲到工作隊(duì)列上線后才能進(jìn)行。也正如我之前所說,此次改進(jìn)將會(huì)為高核心數(shù)的電腦和服務(wù)器帶來巨大收益。
審核編輯:郭婷
-
內(nèi)核
+關(guān)注
關(guān)注
3文章
1384瀏覽量
40442 -
Linux
+關(guān)注
關(guān)注
87文章
11351瀏覽量
210507
原文標(biāo)題:性能提升8450%,Linux內(nèi)核函數(shù)獲大幅改進(jìn)
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
低空視頻傳輸在望獲實(shí)時(shí)linux系統(tǒng)上的應(yīng)用
望獲實(shí)時(shí)Linux系統(tǒng)與Betaflight的結(jié)合:計(jì)算與飛控的完美協(xié)作
騰訊云內(nèi)核團(tuán)隊(duì)修復(fù)Linux關(guān)鍵Bug
飛凌嵌入式ElfBoard ELF 1板卡-Linux內(nèi)核移植之內(nèi)核簡介
嵌入式工程師都在找的【Linux內(nèi)核調(diào)試技術(shù)】建議收藏!
linux驅(qū)動(dòng)程序如何加載進(jìn)內(nèi)核
linux驅(qū)動(dòng)程序的編譯方法是什么
延時(shí)僅33us,Linux-RT實(shí)時(shí)性能測(cè)試分享—基于瑞芯微RK3562J國產(chǎn)平臺(tái)
Linux內(nèi)核測(cè)試技術(shù)
![<b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>測(cè)試</b>技術(shù)](https://file1.elecfans.com/web2/M00/02/4E/wKgZoma68fmAMBkcAADMAfJtb9Y443.png)
基于望獲實(shí)時(shí)Linux的高性能運(yùn)動(dòng)控制器適配
![基于望<b class='flag-5'>獲</b>實(shí)時(shí)<b class='flag-5'>Linux</b>的高<b class='flag-5'>性能</b>運(yùn)動(dòng)控制器適配](https://file1.elecfans.com/web2/M00/01/40/wKgZoma0XFqAPt3mAAQDW2e0B38105.png)
Linux內(nèi)核中的頁面分配機(jī)制
![<b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>中的頁面分配機(jī)制](https://file1.elecfans.com/web2/M00/01/F5/wKgaomazJ8-AL_POAAAOtG0PZQM563.png)
歡創(chuàng)播報(bào) 華為宣布鴻蒙內(nèi)核已超越Linux內(nèi)核
基于全志T507-H的Linux-RT實(shí)時(shí)性測(cè)試案例分享
使用 PREEMPT_RT 在 Ubuntu 中構(gòu)建實(shí)時(shí) Linux 內(nèi)核
![使用 PREEMPT_RT 在 Ubuntu 中構(gòu)建實(shí)時(shí) <b class='flag-5'>Linux</b> <b class='flag-5'>內(nèi)核</b>](https://file.elecfans.com/web2/M00/9B/81/pYYBAGQiWjaAbkZoAACBrWp1TiE766.png)
評(píng)論