LWN: 5.16內核開發(fā)的數(shù)據(jù)!
關注了就能看到更多這么棒的文章哦~
Some 5.16 kernel development statistics
By Jonathan Corbet
January 10, 2022
DeepL assisted translation
https://lwn.net/Articles/880699/
5.16 內核按原計劃成功地在 1 月 9 日完成了發(fā)布。這個開發(fā)周期中包含了 1,988 個開發(fā)者的 14,190 個改動,因此,它比前一個版本要繁忙很多,整體來說跟近期的幾個內核版本差不多。有了新的版本之后,就意味著現(xiàn)在應該來看看這些改動來自哪里了。
為 5.16 做出貢獻的 1,998 名開發(fā)者是有史以來第二高的數(shù)字,只有 5.13(有 2,062 名開發(fā)者)版本比它高。這一次,有 296 名開發(fā)者為內核貢獻了他們的第一次修改,這屬于正常范圍中的較高數(shù)字了。本周期中最活躍的開發(fā)者是:
| Most active 5.16 developers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
在 5.16 版本中貢獻最多的是 Michael Straube,他的幾乎所有改動都是在 staging tree 中的 r8188eu 無線網絡適配器驅動程序里。自 5.15 版本把它合并進來之后,該驅動程序已經進行了 755 次改動。Cai Huoqing 給內核的許多位置提供了清理 patch,Jakub Kicinski 對整個網絡子系統(tǒng)進行了改進,Christoph Hellwig 繼續(xù)在 block 和文件系統(tǒng)層的重構工作,Bart Van Assche 重寫了許多 SCSI 子系統(tǒng)的代碼。
在改動行數(shù)方面,Ping-Ke Shih 因添加了 Realtek rtw89 驅動而名列前茅。與過去許多 Realtek 驅動不同,這個驅動跳過了 staging tree,直接進入了 drivers/net。Zhan Liu 貢獻了兩個 patch 來增加了又一組 amdgpu 頭文件。Nick Terrell 更新了內核的 zstd 壓縮模塊,Sameer Pujar 增加了一套 NVIDIA Tegra 聲音驅動,Johan Almbladh 為 32 和 64 位 MIPS 架構增加了 eBPF JIT 編譯器。值得注意的是,在 5.16 中,相對來說很少有大塊代碼刪除的動作(最大的就是 Thomas Bogendoerfer 刪除了 Netlogic MIPS 支持),所以內核整體來說增加了 422,000 行。
內核項目很依賴于它的 test 人員和 review 人員,就跟它有多么依賴開發(fā)者是一樣的。在 5.16 周期中,擁有最多 test 和 review 功勞的貢獻者是:
Test and review credits in 5.16
Tested-by Daniel Wheeler 153 14.8% Sandeep Penigalapati 34 3.3% Tony Brelinski 25 2.4% Deren Wu 24 2.3% Gurucharan G 22 2.1% Sohaib Mohamed 22 2.1% Konrad Jankowski 20 1.9% Alexei Starovoitov 16 1.5% Mark Wunderlich 14 1.4% John Garry 13 1.3% Christian Zigotzky 13 1.3% Fuad Tabba 12 1.2% Shawn Guo 12 1.2% Geert Uytterhoeven 10 1.0% Ferry Toth 10 1.0%
Reviewed-by Christoph Hellwig 202 3.2% Rob Herring 194 3.0% Hans de Goede 119 1.9% Pierre-Louis Bossart 104 1.6% Stephen Boyd 100 1.6% David Howells 83 1.3% David Sterba 80 1.2% Jani Nikula 77 1.2% Christian K?nig 74 1.2% Andrew Lunn 68 1.1% Jan Kara 60 0.9% Kai Vehmanen 60 0.9% Kees Cook 58 0.9% Florian Fainelli 57 0.9% Linus Walleij 55 0.9%
Daniel Wheeler 再次成為 test 排行榜的榜首,在 5.16 開發(fā)周期中,他的工作占了所有 test 的 15%。這意味著每天有兩個以上的 patch 被測試。這里說的每天還包括了周末和假期。Wheeler 的這些測試似乎是作為他所在公司的內部 review 流程的一部分,其他許多排在前列的 test 人員也是如此。相反,名列前茅的 review 人員往往是活躍的開發(fā)者,他們也設法完成了大量的 review 工作。5.16 版本 review 列表前兩名與 5.15 版本時相同。Christoph Hellwig 在 5.16 版本 70 天的開發(fā)周期中,每天都要 review 三個 patch 并自己寫兩個 patch。
另一種 review 是來自于選擇哪些 patch 來 apply 到本地 git 并勁兒推入 mainline kernel 相關的。這個決定可能是進行一個徹底的 review,也可能是依賴于其他人的 review 投入。當維護者接受了 patch 時,他們會給這些 patch 打上 Signed-off-by 標簽。通過查看非 patch 作者的這些其他人的 tag,可以了解到誰是最活躍的維護者。在 5.16 版本中,他們是:
| Top signoffs in 5.16 | ||
|---|---|---|
| David S. Miller | 1082 | 7.8% |
| Greg Kroah-Hartman | 1062 | 7.6% |
| Mark Brown | 558 | 4.0% |
| Alex Deucher | 472 | 3.4% |
| Jens Axboe | 442 | 3.2% |
| Andrew Morton | 400 | 2.9% |
| Martin K. Petersen | 353 | 2.5% |
| Jakub Kicinski | 325 | 2.3% |
| Mauro Carvalho Chehab | 325 | 2.3% |
| Bjorn Andersson | 305 | 2.2% |
| Paolo Bonzini | 230 | 1.7% |
| Jonathan Cameron | 224 | 1.6% |
| Kalle Valo | 210 | 1.5% |
| Arnaldo Carvalho de Melo | 203 | 1.5% |
| Hans Verkuil | 183 | 1.3% |
| Felix Fietkau | 163 | 1.2% |
| David Sterba | 162 | 1.2% |
| Alexei Starovoitov | 154 | 1.1% |
| Borislav Petkov | 152 | 1.1% |
| Saeed Mahameed | 148 | 1.1% |
這份維護者名單在各個版本中的變化不大,都是由一些已經工作多年的內核項目最資深的開發(fā)者所組成的。
5.16 的工作得到了我們能夠確定的 251 家公司(employers)的支持。其中最活躍的是:
| Most active 5.16 employers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
這個表格也同樣在兩個版本之間通常是沒有什么變化的。有些人可能會對"unknown" 這一類感到好奇,其中包括了近 400 位開發(fā)者,他們中的大多數(shù)人都貢獻了一到兩個 patch。這些開發(fā)者中的每一位在這個版本中都僅僅提供了很小的貢獻,但他們加起來卻占了總 patch 數(shù)量的很大一部分。這些開發(fā)者中的許多人已經完成了他們在 kernel 項目中希望要達成的目標,下次可能就看不到他們了。也有很多其他人則是剛剛開始,今后會隨著時間的推移而成為重要的貢獻者。
總而言之,5.16 只是另一個很普通的內核開發(fā)周期。來自近 2000 名開發(fā)者的大量 patch 全部整合到了這個新的、堅實的(盡管不是完美的)內核版本中。內核項目在質量控制、測試、對維護者的支持等方面不乏問題,但它還是設法在一個可預測的時間表上完成了工作?,F(xiàn)在開始進行 5.17 版本的工作,該版本將于 3 月中旬發(fā)布。
全文完
LWN 文章遵循 CC BY-SA 4.0 許可協(xié)議。
長按下面二維碼關注,關注 LWN 深度文章以及開源社區(qū)的各種新近言論~
