<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          LWN:5.15 開發(fā)周期數(shù)據(jù)統(tǒng)計!

          共 5441字,需瀏覽 11分鐘

           ·

          2021-11-14 00:08

          關(guān)注了就能看到更多這么棒的文章哦~

          Some 5.15 development statistics

          By Jonathan Corbet
          November 1, 2021
          https://lwn.net/Articles/874283/

          5.15 內(nèi)核在 10 月 31 日正式發(fā)布了,code name 也就順利成章地起名為 "Trick or Treat" 了。當(dāng)時,已經(jīng)有 12,377 個 non-merge changesets 合入了 mainline,凈增了 322,000 行代碼。請繼續(xù)閱讀來了解 5.15 kernel 中的貢獻(xiàn)都來自哪些力量。

          LWN 一直在閱讀這類總結(jié)文章的讀者應(yīng)該會注意到 5.15 中的總 patch 數(shù)量相對偏少。確實,我們應(yīng)該跟 kernel 之前的情況比較一下,就從 2019 年早期發(fā)布的 5.0 版本來開始吧:

          ReleaseChangesetsDevelopers
          5.012,8081,712
          5.113,0341,707
          5.214,0241,716
          5.314,6051,846
          5.414,6191,802
          5.514,3501,885
          5.612,6651,712
          5.713,9011,878
          5.816,3061,991
          5.914,8581,914
          5.1016,3081,971
          5.1114,3401,912
          5.1213,0151,873
          5.1316,0302,062
          5.1414,7351,912
          5.1512,3771,797

          可以看到,從合入的 changeset 數(shù)量來看,5.15 是在 5.x 時代里面最安靜的開發(fā)周期了。要想找到一個比它的改動更少的版本,要回到 2016 年 8 月份的 4.7 版本了,當(dāng)時有來自 1.582 位開發(fā)者的 12,283 個 changeset。這個周期的改動這么少,確實很意外,因為 5.15 基本上已經(jīng)確定會是下一個 long-term support release 了。kernel 開發(fā)者經(jīng)常會擔(dān)心各個廠商把還沒有準(zhǔn)備好的代碼急著塞到 LTS release 里面,不過這次看來沒有這種問題。

          也許這里的事實情況是開發(fā)社區(qū)正在疫情中期進(jìn)行了一個短暫的休息。

          Individual contributors

          與此同時,參與到這次 release 的開發(fā)者的數(shù)量雖然比之前幾個 cycle 要少,但是還是比 5.x 時代的某些 release 要多的。在 5.15 的這 1797 位開發(fā)者中,有 251 位是首次貢獻(xiàn)者。這個數(shù)字偏低,不過跟之前幾次 release 還是差不多同一個水平。本輪中最活躍的開發(fā)者是:

          Most active 5.15 developers
          By changesets
          Christoph Hellwig2522.0%
          Namjae Jeon1711.4%
          Takashi Iwai1611.3%
          Vladimir Oltean1381.1%
          Colin Ian King1311.1%
          Arnd Bergmann1191.0%
          Andy Shevchenko1090.9%
          Thomas?Zimmermann1080.9%
          Geert Uytterhoeven1000.8%
          Michael Straube920.7%
          Linus Walleij910.7%
          Krzysztof Kozlowski910.7%
          Pavel Begunkov830.7%
          Sean Christopherson820.7%
          Thomas Gleixner820.7%
          Dan Carpenter800.6%
          Phillip Potter790.6%
          Bart Van Assche760.6%
          Randy Dunlap730.6%
          Christophe JAILLET730.6%
          By changed lines
          Phillip Potter13758417.0%
          Namjae Jeon424835.2%
          Konstantin Komarov322284.0%
          Christoph Hellwig221772.7%
          Jin Yao167722.1%
          Hu Haowen131021.6%
          Trevor Wu124071.5%
          Linus Walleij118631.5%
          Zack Rusin111631.4%
          Lukas Bulwahn92111.1%
          Konrad Dybcio87281.1%
          Takashi Iwai79941.0%
          Vladimir Oltean70240.9%
          Arnd Bergmann69650.9%
          Fabio Aiuto68640.8%
          Kumar?Kartikeya?Dwivedi54930.7%
          Quinn Tran53190.7%
          James Smart52870.7%
          Matthew Brost52190.6%
          Iskren Chernev51760.6%

          Christoph Hellwig 這輪是貢獻(xiàn)最多 changeset 的人,他仍在對 block 和 SCSI 子系統(tǒng)進(jìn)行深入地重構(gòu),偶爾也會涵蓋一些其他工作,比如移除了 m68k 架構(gòu)中的 set_fs()。Namjae Jeon 是在對新增的 ksmbd 文件系統(tǒng)實現(xiàn)進(jìn)行貢獻(xiàn),Tkashi Iwai 繼續(xù)作為 sound 子系統(tǒng)的 maintainer 進(jìn)行貢獻(xiàn),Vladimir Oltean 對網(wǎng)絡(luò)驅(qū)動進(jìn)行了很多改進(jìn),Colin Ian King 在 kernel 代碼中進(jìn)行了許多小清理。

          這一輪里修改了最多行代碼的人是 Phillip Potter,他增加了 rt8818eu wireless network driver。Konstantin Komarov 在做 ntfs3 filesystem driver,Jin Yao 對 Intel 許多 subarchitecture 添加了 perf event 支持。

          內(nèi)核項目非常依賴 tester 和 reviewer,他們的貢獻(xiàn)不亞于開發(fā)者們。在 5.15 cycle 里面,進(jìn)行了最多的 test 和 review 工作的人是:

          Test and review credits in 5.15
          Tested-by
          Daniel Wheeler628.2%
          Babu Moger243.2%
          Dvora Fuxbrumer212.8%
          Nathan Chancellor131.7%
          Stefano Stabellini131.7%
          Christophe Leroy121.6%
          Will Deacon121.6%
          Gerald Schaefer121.6%
          Lukasz Majczak121.6%
          Marc Zyngier111.4%
          Michael Schmitz101.3%
          Marek Vasut101.3%
          Yi Zhang101.3%
          Guenter Roeck91.2%
          Michael Walle91.2%
          Reviewed-by
          Christoph Hellwig2113.9%
          Rob Herring1542.9%
          Darrick J. Wong1011.9%
          Laurent Pinchart921.7%
          David Sterba691.3%
          Hannes Reinecke681.3%
          Hans de Goede601.1%
          Daniel Vetter591.1%
          Linus Walleij561.0%
          Alex Deucher531.0%
          Andy Shevchenko521.0%
          Stephen Boyd500.9%
          Lad Prabhakar500.9%
          José Roberto de Souza490.9%
          Christian K?nig480.9%

          很多對 kernel test 進(jìn)行了貢獻(xiàn)的朋友一般在我們社區(qū)里面沒有怎么看到。我們只是從一些公司的內(nèi)部 review 流程里面打上的 tag 來看到的。很多公司都有這個流程,不過他們并沒有都通過 patch tag 方式來記錄這些工作。review tag 也有類似的情況,不過這次不是這么回事。review 最多的參與者在 kernel 項目中都有一些不同的職責(zé)。比如這次 review 最多的人(Christoph Hellwig) 就是這次貢獻(xiàn)最多 changeset 的人。

          Employers

          5.15 的開發(fā)工作中可以看到有來自 213 個公司的身影。其中最活躍的公司是:

          Most active 5.15 employers
          By changesets
          Intel12169.8%
          (Unknown)9587.7%
          Google7185.8%
          (None)6875.6%
          Red Hat6335.1%
          Linaro5774.7%
          SUSE5534.5%
          AMD5044.1%
          Huawei?Technologies4653.8%
          NVIDIA3683.0%
          IBM3492.8%
          (Consultant)3062.5%
          Facebook3052.5%
          Canonical2752.2%
          NXP Semiconductors2642.1%
          Oracle2552.1%
          Renesas Electronics2361.9%
          Samsung2141.7%
          Arm1931.6%
          Linutronix1471.2%
          By lines changed
          (None)16621620.5%
          Intel794929.8%
          (Unknown)506426.2%
          Samsung464315.7%
          Linaro350034.3%
          Paragon Software322284.0%
          Red Hat243953.0%
          (Consultant)236102.9%
          AMD228642.8%
          NVIDIA217052.7%
          Google202152.5%
          MediaTek197062.4%
          SUSE195472.4%
          Facebook139601.7%
          VMWare135181.7%
          SoMainline115811.4%
          Huawei?Technologies110701.4%
          Renesas Electronics105571.3%
          NXP?Semiconductors104431.3%
          Broadcom102021.3%

          跟往常一樣,這次也沒有多少意外。Paragon Software 以前沒有出現(xiàn)在這個榜單中,這次是因為對 ntfs3 的貢獻(xiàn)。還有一個值得注意的是華為為 5.15 貢獻(xiàn)了 465 個 changeset,雖然仍是很大數(shù)量的貢獻(xiàn)了,但是比起在 5.14 中的 1,731 個 changeset 來說大大減少了。如果華為能保持 5.14 階段的活躍度的話,這個開發(fā)周期比起之前幾個的 changeset 數(shù)量來說就沒有多少差異了。不過看起來列表中的幾乎所有公司在 5.15 中的貢獻(xiàn)數(shù)量比起 5.14 來說都要少。

          Code longevity

          最后,來看看這個有意思的數(shù)據(jù),就是每個 release 里面有多少代碼還在當(dāng)前 kernel 里面存活著。這個數(shù)據(jù)是通過用 git blame 對 kernel 代碼中每個文件進(jìn)行暴力搜索,然后把每一行都對應(yīng)到它第一次出現(xiàn)的 commit 上來獲取的。對當(dāng)前的 Git 歷史進(jìn)行這樣的統(tǒng)計的話,看到的結(jié)果就是這樣:

          [plot]

          絕大多數(shù) release 中添加的代碼在 5.15 kernel 中占據(jù)的代碼比例都不超過 2%,5.15 本身新增代碼占了總數(shù)的 2.1%。在 Git 剛開始應(yīng)用進(jìn)來的時候,也就是 2005 年的 2.6.12 release,kernel 就有了大約 1080 萬行代碼。大約 16 年過去了,那些代碼中仍然有 230 萬行(略少于四分之一)保留在 5.15 中,占現(xiàn)有代碼的 7.2%。如果仔細(xì)看進(jìn)去的話,會看到這些代碼很多都是用單獨的一行 "/*" 之類的內(nèi)容,不過當(dāng)然不是全部都是這樣。比如說 kernel 中到現(xiàn)在還有 72 個文件自從 2005 年的第一個 commit 加入進(jìn)來之后就從來就沒有被改動過。

          關(guān)于上圖中其他比較顯眼的那些 release,也能有一個比較直觀的解釋。比如 4.12,就包含了那些巨大的 amdgpu register 定義頭文件之一,這些頭文件估計會永遠(yuǎn)存在,并且也不會有任何人去讀它們。5.3 和 5.9 的情況也類似。其他一些 release 的情況就沒那么直觀了,比如 5.6 里面加入了 ath11k 網(wǎng)卡驅(qū)動以及 WireGuard VPN ,不過光這兩項沒法解釋為什么這么多代碼還保留著。

          5.15 開發(fā)周期中的新代碼會在今后存活多久,現(xiàn)在還說不清。不過從上圖來看,內(nèi)核代碼還是挺長壽的。許多代碼會一直存在著,也許直到今后某天用 Rust 完全重寫了。大家繼續(xù)期待開發(fā)社區(qū)不斷快速地添加和改動代碼吧。

          全文完
          LWN 文章遵循 CC BY-SA 4.0 許可協(xié)議。

          歡迎分享、轉(zhuǎn)載及基于現(xiàn)有協(xié)議再創(chuàng)作~

          長按下面二維碼關(guān)注,關(guān)注 LWN 深度文章以及開源社區(qū)的各種新近言論~



          瀏覽 72
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美久久久久久久久久久 | 日韩一二三区 | 夏晴子在线观看 | 国产青青操逼视频 | 人妻日韩精品中文字幕 |