<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.18 開發(fā)周期數(shù)據(jù)分析!

          共 2979字,需瀏覽 6分鐘

           ·

          2022-06-07 22:29

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

          Statistics from the 5.18 development cycle

          By Jonathan Corbet
          May 23, 2022
          DeepL assisted translation
          https://lwn.net/Articles/895800/

          5.18 版內(nèi)核在經(jīng)歷了 9 周的開發(fā)周期后于 5 月 22 日發(fā)布。這說明又到了該看看這次 release 背后的一些統(tǒng)計(jì)數(shù)據(jù)的時(shí)候了,這是近期最繁忙的一次 release。請繼續(xù)閱讀來了解 5.18 內(nèi)核中的代碼都來自哪里,以及是如何進(jìn)入 mainline 的。

          在 5.18 開發(fā)周期中,有 2024 名開發(fā)者提交了 14954 個(gè) non-merge changeset,其中 289 人是首次給內(nèi)核提供代碼貢獻(xiàn)。這些數(shù)字都不是歷史最高值,盡管開發(fā)者的數(shù)量已經(jīng)很接近迄今為止的最高值了(5.13 版本時(shí)的 2062)。這個(gè)版本中內(nèi)核增加了 756,00 行代碼。

          對 5.18 貢獻(xiàn)最大的人是:

          Most active 5.18 developers
          By changesets
          Krzysztof?Kozlowski2141.4%
          Matthew Wilcox1641.1%
          Christoph Hellwig1541.0%
          Geert?Uytterhoeven1400.9%
          Ville Syrj?l?1350.9%
          Jonathan Cameron1190.8%
          Andy Shevchenko1180.8%
          Lorenzo Bianconi1170.8%
          Vladimir Oltean1110.7%
          Hans de Goede1100.7%
          Martin Kaiser1100.7%
          Colin Ian King1040.7%
          Sean?Christopherson1000.7%
          Jakub Kicinski1000.7%
          Christophe JAILLET890.6%
          Michael Straube870.6%
          Jani Nikula860.6%
          Trond Myklebust810.5%
          Eric Dumazet800.5%
          Christophe Leroy800.5%
          By changed lines
          Leo Li22767619.4%
          Qingqing Zhuo19775716.9%
          Ian Rogers720086.1%
          Alan Kao158141.3%
          Ming Qian121761.0%
          Linus Walleij88810.8%
          Krzysztof Kozlowski88440.8%
          Dimitris Michailidis87910.7%
          Christoph Hellwig71650.6%
          Matt Roper71140.6%
          Jakub Kicinski70400.6%
          Jacob Keller68770.6%
          Geert Uytterhoeven60390.5%
          Ranjani Sridharan57680.5%
          Evan Quan52320.4%
          Guodong Liu49440.4%
          Mauro?Carvalho?Chehab48160.4%
          Vladimir Oltean47760.4%
          Brett Creeley46600.4%
          Adrian Hunter46510.4%

          Krzysztof Kozlowski 是為 5.18 貢獻(xiàn)最多 patch 的開發(fā)者。他的工作主要是對 device-tree 的更新。Matthew Wilcox 成功地合并了另一組 folio patch。Christoph Hellwig 繼續(xù)對 block 和文件系統(tǒng)層進(jìn)行大規(guī)模重構(gòu)。Geert Uytterhoeven 為 Renesas 的 pin-control 代碼進(jìn)行了大量的改進(jìn),Ville Syrj?l? 在英特爾 i915 圖形驅(qū)動(dòng)上做了大量工作。

          在 "changed lines" 這一列中,Leo Li 僅用 5 個(gè) patch 就為 AMD 圖形驅(qū)動(dòng)增加了超過 20 萬行的寄存器定義,然后 Qingqing Zhuo 又添加了近 20 萬行。Ian Rogers 對 perf 工具進(jìn)行了一些改進(jìn),Alan Kao 貢獻(xiàn)了一個(gè)刪除 nds32 架構(gòu)的 patch,Ming Qian 貢獻(xiàn)了若干 Amphion media driver。

          給所有 patch 進(jìn)行過最多的 test 和 review 的人員是:

          Test and review credits in 5.18
          Tested-by
          Daniel Wheeler15511.7%
          Damien Le Moal775.8%
          Konrad?Jankowski544.1%
          David Howells534.0%
          Mike Marshall534.0%
          Gurucharan382.9%
          Marc Zyngier322.4%
          Vladimir Murzin322.4%
          Randy Dunlap211.6%
          Jiri Olsa171.3%
          Julian Grahsl161.2%
          Yihang Li151.1%
          Reviewed-by
          Rob Herring2172.7%
          Christoph Hellwig2042.6%
          Andy Shevchenko1431.1%
          AngeloGioacchino?Del?Regno1101.4%
          Stephen Boyd1031.3%
          Pierre-Louis Bossart1031.3%
          Alex Deucher981.2%
          Krzysztof Kozlowski961.2%
          Hans de Goede911.1%
          Péter Ujfalusi881.1%
          Jani Nikula861.1%
          Himanshu Madhani851.1%

          Daniel Wheeler 繼續(xù)提供了最多的 test 工作,他在許多 AMD 圖形驅(qū)動(dòng) patch 中都加上了自己的 Tested-by tag。值得注意的是,Wheeler 不定期地發(fā)布對已經(jīng)完成的測試的總結(jié)。Damien Le Moal 測試了許多 folio patch。Konrad Jankowski 在定期測試英特爾的網(wǎng)絡(luò)驅(qū)動(dòng) patch。

          關(guān)于 review 這一列,Rob Herring 在經(jīng)常 review 那些 device-tree 的 patch。Christoph Hellwig 則 review 了許多 block 和文件系統(tǒng)子系統(tǒng)中的 patch–也 review 了一些 folio patch。Andy Shevchenko 則 review 了許多 driver patch,主要是在 I2C、GPIO 和 pin-control 子系統(tǒng)中。

          過去我們這些數(shù)字經(jīng)常持懷疑態(tài)度,因?yàn)樗鼈儾]有完全捕捉到到社區(qū)中發(fā)生的所有 test 和 review 工作,而且很容易被人利用??隙ㄟ€有很多工作沒有反映出來,但是毫無疑問這些名單上的 test 人員和 review 人員肯定是不會錯(cuò)的。也許這反映了開發(fā)人員和他們的雇主(尤為重要)對這些活動(dòng)的價(jià)值有了更多的了解。

          對于 bug report 方面的情況就留給讀者來判斷了:

          Top bug-report credits for 5.18
          kernel test robot23219.3%
          Zeal Robot766.3%
          Syzbot726.0%
          Abaci625.2%
          Dan Carpenter292.4%
          Hulk Robot272.2%
          Stephen Rothwell262.2%
          Igor Zhbanov191.6%
          Randy Dunlap121.0%
          Rob Herring90.7%

          如今,bug report 顯然是 robot 的工作了。但請注意,雖然有 2249 個(gè)(這是到目前為止的數(shù)字) 5.18 patch 被 backport 到 5.17 穩(wěn)定版的更新中了,但只有 1075 個(gè) patch 包含 Reported-by tag。這表明,有一半以上的 fix 并沒有使用這些 tag。也就是說可能有不少 bug report 都沒有記錄好該感謝誰報(bào)出了這個(gè)問題。

          在這個(gè)開發(fā)周期中貢獻(xiàn)最積極的雇主是:

          Most active 5.18 employers
          By changesets
          Intel170811.4%
          (Unknown)11557.7%
          Red Hat9586.4%
          Google8865.9%
          (None)8185.5%
          AMD7815.2%
          Linaro5603.7%
          Huawei?Technologies4713.1%
          Facebook4463.0%
          NVIDIA3962.6%
          (Consultant)3632.4%
          SUSE3442.3%
          IBM3342.2%
          Oracle3252.2%
          Arm2942.0%
          Renesas Electronics2621.8%
          MediaTek2491.7%
          NXP Semiconductors2361.6%
          Canonical2271.5%
          Microchip?Technology2011.3%
          By lines changed
          AMD46764239.9%
          Intel1070819.1%
          Google1038018.8%
          (Unknown)496694.2%
          Linaro296312.5%
          Red Hat288072.5%
          (None)279892.4%
          NXP Semiconductors214181.8%
          NVIDIA192031.6%
          MediaTek189801.6%
          Facebook160361.4%
          Andes Technology158141.3%
          (Consultant)143141.2%
          Huawei Technologies134831.1%
          IBM119601.0%
          Microchip?Technology118531.0%
          Renesas Electronics114271.0%
          SUSE101280.9%
          Canonical89840.8%
          Fungible87910.7%

          像往常一樣,這里沒有什么特別的意外驚喜。

          Patch flow and signed tags


          【圖太大,讀者自己去LWN 上看吧?https://lwn.net/Articles/895911/】

          上邊這個(gè)難以辨認(rèn)的圖表展示了 patch 進(jìn)入 mainline 內(nèi)核的路徑。每個(gè)矩形框代表一個(gè) Git 倉庫,箭頭則展示了 patch 從一個(gè)倉庫到另一個(gè)倉庫的移動(dòng)過程。這張圖是由 gitdm 這一組 git 分析工具(可從 git://git.lwn.net/gitdm.git 獲得)中的 treeplot 來生成的,它可以展示代碼在維護(hù)者社區(qū)中移動(dòng)的總體情況。

          這張圖仍然相對比較平坦;大多數(shù)維護(hù)者直接向 Linus Torvalds 推送他們的修改。然而,中間途徑的倉庫所的作用在穩(wěn)步增長,其中最大的那幾個(gè)中間庫分別是負(fù)責(zé)處理 networking、graphics、system-on-chip 和字符驅(qū)動(dòng)子系統(tǒng)的。該圖展示了我們當(dāng)前的系統(tǒng)是如何使內(nèi)核開發(fā)進(jìn)程擴(kuò)展到目前的規(guī)模的,而且很可能還會繼續(xù)超越當(dāng)前的規(guī)模。

          每個(gè)箭頭的顏色表示了這個(gè)倉庫是否在被推送到下一級倉庫的 patch 上使用了 signed tag;紅線就表示沒有這種 tag。在 tag 上使用 GPG 簽名的話就可以讓收到請求的維護(hù)者來驗(yàn)證這個(gè) pull request 是真的由它代表的人來創(chuàng)建的。如果所有的 pull request 都包含 signed tag,那么攻擊者就很難欺騙維護(hù)者去從惡意的分支拉取數(shù)據(jù)了。

          正如多年來在 LWN 記錄的那樣,普遍使用 signed tag 的進(jìn)展一直在緩慢推進(jìn)。但最近,Torvalds 變得更加堅(jiān)持了,明確要求那些頑固不化的維護(hù)者要加入到這個(gè)計(jì)劃中來。最終結(jié)果是在 5.18 版本中,只有 714 個(gè) patch 不是來自 signed tag 的,其中 565 個(gè)是由 Torvalds 直接合入的,根本沒有通過別的 Git 倉庫來到達(dá)。因此,在這個(gè)樹狀結(jié)構(gòu)的最頂層,轉(zhuǎn)換來使用 signed tag 的工作幾乎已經(jīng)完成了,僅僅是在開始采用這種做法 11 年后。不過,一些中層的維護(hù)者顯然仍未要求在 pull request 上使用 signed tag,所以這個(gè)過程中仍有一些漏洞。

          Older bugs

          許多應(yīng)用于 5.18 的 patch 都是用來修復(fù) bug 的,這些 bug 有多老?對這個(gè)問題有一個(gè)近似回答的方法,就是看看有多少出現(xiàn)在 stable update 中的 fix 是在 5.18 中才首次出現(xiàn)的。一個(gè) bug fix 肯定是不會 backport 到最早出現(xiàn)該 bug 的版本的。5.18 的情況如下:

          ReleaseBackports
          5.17 (Mar 2022)2,249
          5.15 (Oct 2021)1,762
          5.10 (Dec 2020)1,185
          5.4 (Nov 2019)756
          4.19 (Oct 2018)532
          4.14 (Nov 2017)422
          4.9 (Dec 2016)331

          從上面可以看出,有 331 個(gè) fix(到目前為止)已經(jīng)從 5.18 一路移植到了 5 年多前發(fā)布的 4.9 內(nèi)核。換句話說,經(jīng)過五年多的密集 fix(4.9 的 stable update 已經(jīng)添加了將近 22000 個(gè) fix),我們?nèi)匀黄骄刻爝€在對 4.9 要修復(fù)差不多 5 個(gè) bug。我們也需要到內(nèi)核的生命終止之前才會修完所有 bug 吧。

          總而言之,內(nèi)核開發(fā)仍然猶如一個(gè)高速運(yùn)轉(zhuǎn)的機(jī)器。其中有很多 bug 正在被修復(fù),毫無疑問,更多的 bug 正在被引入。最終我們得到的成果就是當(dāng)前咱們在使用的 kernel 了。

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

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

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



          瀏覽 25
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  一区二区三区无码高清 | 国产一级黄片视频 | 国产视频网 | 婷婷色欲| 久久7777 |