Jason Donenfeld 是 WireGuard 的主要開發(fā)者,同時他也是 Linux 內核隨機數(shù)相關代碼的維護者,近日在他的領導下,Linux 內核的隨機數(shù)生成器代碼有了巨大幅度的改進。 在之前的 Linux 5.17 中,Jason Donenfeld 就在隨機代碼用 BLAKE2s 代替了 SHA1,由于 BLAKE2s 自帶的特性,前者通常比后者更快更安全。經過測試,通過這個簡單的轉換就能獲得 131% 左右的速度提升。 雖然在 Linux 5.17 中有了速度上的大幅提升,但 Jason Donenfeld 對此并沒滿足。因此在 Linux 5.18 中他對隨機代碼作出了更多的改進。
通過查看 Linux 的random.git倉庫的日志能夠看出(上圖),開發(fā)者 Jason Donenfeld 在最近兩天時間里進行了大量的代碼提交。這些提交內容都將在 3 月下旬 Linux 5.18 的合并窗口啟動時引入內核。
在郵件中特別強調到,通過使用正在開發(fā)的最新代碼,用于獲取隨機字節(jié)的 getrandom() 調用能夠獲得更好的性能。在配備英特爾 Xeon E5-2697 v2 @ 2.70GHz CPU 和 112G 內存的設備上進行 stress-ng getrandom() 基準測試后,更是獲得了 8450% 的性能提升。 此次更改基本上會將之前的全局結構(實際上是 per-numa 節(jié)點結構)更改為 per-cpu 結構,這意味著快速路徑上的許多鎖都會消失。因此,當在具備多核的 CPU 上同時嘗試 getrandom() 時,毫無疑問性能會出現(xiàn)提升。只不過沒想到在測試中能帶來 8450% 的提升。 除此之外,當從 per-numa 更改為 per-cpu 后,也將不再需要被推遲到工作隊列上線后才能進行。也正如我之前所說,此次改進將會為高核心數(shù)的電腦和服務器帶來巨大收益。
審核編輯:郭婷
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
原文標題:性能提升8450%,Linux內核函數(shù)獲大幅改進
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
相關推薦
學到本章節(jié),大家應該對Linux操作系統(tǒng)都有了一定的了解,但可能還不知道我們拿到手的內核源碼都經歷了什么。linux有一個龐大的開源社區(qū),每個人都可以向開源社區(qū)提交代碼。由于
發(fā)表于 12-13 09:03
內核調試技術,并通過一個案例分析來幫你加深理解。
常見的Linux內核調試技術
printk()調試技術
printk()是調試內核代碼
發(fā)表于 11-28 15:37
,需要了解Linux內核的基本概念和API。以下是一些關鍵概念: 1.1 內核模塊:Linux內核模塊是一種動態(tài)加載和卸載的
發(fā)表于 08-30 15:02
?453次閱讀
的源代碼中,并隨內核一起編譯。這種方法適用于驅動程序已經非常穩(wěn)定,且不打算頻繁修改的情況。具體步驟如下: 下載并安裝Linux內核源
發(fā)表于 08-30 14:46
?551次閱讀
。Target#cat /proc/cmdline
圖 4
進入評估板文件系統(tǒng),執(zhí)行如下命令,修改內核printk日志等級,避免內核打印信息影響實時測試。Target#echo 1 &
發(fā)表于 08-22 13:51
。內核測試技術是實現(xiàn)這一目標的關鍵手段。本文將詳細介紹 Linux 內核測試的各種技術,包括單元測試
發(fā)表于 08-13 13:42
?487次閱讀
國科環(huán)宇依托深厚的技術積累與實戰(zhàn)經驗,成功推出了基于望獲實時Linux的高性能運動控制器適配方案。該方案不僅保留了Linux的通用性與兼容性,還通過自研的調度算法、網絡優(yōu)化技術及先進的
發(fā)表于 08-08 13:51
?244次閱讀
Linux內核中是如何分配出頁面的,如果我們站在CPU的角度去看這個問題,CPU能分配出來的頁面是以物理頁面為單位的。也就是我們計算機中常講的分頁機制。本文就看下Linux內核是如何管
發(fā)表于 08-07 15:51
?280次閱讀
自誕生以來的最大一次升級換代。HarmonyOS NEXT不依賴傳統(tǒng)的Unix內核和Linux內核,而是依靠自主的鴻蒙內核。這就意味著,鴻蒙操作系統(tǒng)最終將去掉
發(fā)表于 06-27 11:30
?835次閱讀
的POSIX API等),實現(xiàn)產品快速上市的期望。
Linux-RT實時性測試(Cyclictest工具)
Cyclictest常用于實時系統(tǒng)的基準測試,是評估實時系統(tǒng)相對性能的最常用
發(fā)表于 06-03 09:50
如何修改Kernel Affinity提升openplc性能
發(fā)表于 05-22 06:36
盟通技術干貨構建實時Linux內核簡介盟通技術干貨Motrotech如果需要在Linux中實現(xiàn)實時計算性能,進而有效地將Linux轉變?yōu)镽T
發(fā)表于 04-12 08:36
?2435次閱讀
RK3399是一款由中國廠商瑞芯微推出的高性能處理器芯片,被廣泛用于嵌入式系統(tǒng)開發(fā)。在進行應用程序開發(fā)之前,我們需要將Linux內核移植到RK3399上,以支持硬件的驅動和功能。本文將詳細介紹如何將
發(fā)表于 01-08 09:56
?1133次閱讀
近期,兆芯工程團隊亦在致力于將首選內核調度技術引進Linux系統(tǒng)中。他們試圖通過提議的Linux內核補丁,利用已有的ACPI功能來辨別每個核心的特性。這項補丁將在ACPI CPUFre
發(fā)表于 12-29 14:30
?566次閱讀
本文檔介紹如何在開發(fā)時修改和保存內核配置,適用于開發(fā)板TQT507。 1.修改內核配置 編譯時系統(tǒng)會先檢測當前內核源碼目錄下是否存在.con
發(fā)表于 12-28 14:13
?443次閱讀
評論