[導(dǎo)讀]自 2020 年 1 月發(fā)布 5.5 內(nèi)核之后,到現(xiàn)在已經(jīng)有近 87,000 個 patch,來自于近 4600 名開發(fā)者,都被合并到 mainline 倉庫中了。
自 2020 年 1 月發(fā)布 5.5 內(nèi)核之后,到現(xiàn)在已經(jīng)有近 87,000 個 patch,來自于近 4600 名開發(fā)者,都被合并到 mainline 倉庫中了。review 所有這些 patch 的工作,對于愿意花時間的內(nèi)核開發(fā)者來說也都是一項艱巨的任務(wù),所以是否要接受合并 patch,這個決定權(quán)就被委托給了各個子系統(tǒng)的維護者(maintainer)來代理決定,他們每個人都對內(nèi)核中這一部分的改動具有部分或者完整的決定權(quán)。這些維護者們就被記錄在一個叫 MAINTAINERS 的文件中(當(dāng)然是這個名字)。但是,MAINTAINERS 文件也需要維護,它能很好地反映現(xiàn)實情況嗎? MAINTAINERS 文件的存在目的,并不僅僅是為了讓大家給維護者點贊。開發(fā)者們需要用它來確定該把 patch 發(fā)到哪里。get_maintainer.pl 腳本通過查看這個 patch 修改了的文件,就可以生成一系列郵件地址來發(fā)送 patch,從而讓這一過程變得更加自動化。如果這個文件中有錯誤信息的話,就可能會讓 patch 發(fā)送到錯誤的地方去,所以我們需要這個文件能保持更新。最近,編者收到 Jakub Kicinski 的建議,他認(rèn)為可以比較 一下 MAINTAINERS 中的各個條目和現(xiàn)實世界中的工作的吻合程度,應(yīng)該能得到一些線索。于是折騰了一會兒 Python 之后,我們就得到了一個新的分析腳本。
Digging into MAINTAINERS
統(tǒng)計下來,MAINTAINERS 文件中已經(jīng)列出了 2280 個 "subsystems (子系統(tǒng))"。每一個子系統(tǒng)都包括一個它所涵蓋的文件和目錄列表。我們可以查看這些文件的 commit 信息來這個子系統(tǒng)中都有誰在進行工作。撰寫 patch 顯然屬于工作內(nèi)容之一,但其他活動也得算,比如處理 patch (可以從 Signed-off-by tag 來得到這個信息) 或 review patch (根據(jù) Reviewed-by 或 Acked-by)。我們犧牲了一些 CPU 挖礦的時間,得到了一個大概統(tǒng)計值,也就是各個子系統(tǒng)中明確列出的維護者最后一次在該子系統(tǒng)中實際做了有效工作的時間是什么時候。 對于那些想看細(xì)節(jié)的人來說,可以直接看這個完整結(jié)果(https://lwn.net/Articles/842419/)。 不過,我們可以縮小數(shù)據(jù)范圍,在這個文件中挑選出一些我們更感興趣的內(nèi)容。例如,有 367 個子系統(tǒng)在整個 Git 歷史中都沒有維護者,或維護者從未出現(xiàn)過(沒有包括那些沒有文件的 "子系統(tǒng)"–見下文)。在這些子系統(tǒng)中,很多已經(jīng)過了它本身的黃金時期,比如現(xiàn)在 3c59x 網(wǎng)卡維護者根本沒有多少工作可做。網(wǎng)絡(luò)開發(fā)人員也不會收到很多 ATM 的 patch 了,Palm Treo 也不需要有多少支持工作了,蘋果最近也很少發(fā)布基于 M68k 的系統(tǒng)了,Arm 軟驅(qū)(floppy drive)也沒有多少人還在使用了,S3 Savage 顯卡也不再是以前人們所必備的設(shè)備了。這幾百項中,很多可能都代表著可以完全刪除的代碼。 類似的結(jié)論也可以從另一個列表中得到 (https://lwn.net/Articles/842424/),那個列表中都是沒有列出維護者的子系統(tǒng)。當(dāng)然,其中一些子系統(tǒng)本身也不太對頭,有一個子系統(tǒng)簡單地命名為 "ABI/API",指向了 linux-api 郵件列表。實際上有一個文件是與這個 "子系統(tǒng) " 相關(guān)的,kernel/sys_ni.c,這個文件會對那些未實現(xiàn)的系統(tǒng)調(diào)用進行處理。因此,這個條目的存在價值,是為了讓開發(fā)者在添加新的系統(tǒng)調(diào)用時會抄送 linux-api 郵件列表。"Arm subarchitectures " 條目也是類似情況。 一些無維護者的子系統(tǒng),比如 framebuffer 層,可能后續(xù)會有人愿意接手從而復(fù)活。reiserfs 文件系統(tǒng)缺乏維護者,但似乎仍有一些用戶。其他的子系統(tǒng),比如 DECnet 或 Matrox framebuffer,可能最好的處理就是不去管它了(或干脆刪除掉)。 MAINTAINERS 文件中列出的一些 "子系統(tǒng)" 沒有任何文件需要修改。一個有趣的例子是 "embedded Linux",據(jù)說由 Paul Gortmaker、Matt Mackall 和 David Woodhouse 維護。鑒于嵌入式 Linux 的成功,我們都認(rèn)為他們的工作非常出色。"device number registry" 聲稱是有維護的,但這里只包含一個鏈接,指向一個不存在的網(wǎng)頁。"disk geometry and partition handling" 這一條中的 URL 仍然有效,但這些網(wǎng)頁似乎已經(jīng)有十多年沒有更新了,可以看出最近 Zip 驅(qū)動器的 geometry 并沒有什么進展。man page 這些手冊頁面倒是有積極維護的,但它們不在內(nèi)核代碼樹中。
Help needed
從目前的結(jié)果可以得出幾個結(jié)論。一個是很多內(nèi)核子系統(tǒng)現(xiàn)在并不是真的需要有人來維護,相反,其中一些可能需要被刪除掉。另一個結(jié)論是,也許 MAINTAINERS 文件本身需要清理一下。但還有一個有價值的問題,那就是從這些數(shù)據(jù)是否可以看出是否有一些子系統(tǒng)從新的維護者中獲益匪淺的呢?為了回答這個問題,我們又花費了一些本來可以用來挖礦的 CPU 時間,來尋找符合這些標(biāo)準(zhǔn)的子系統(tǒng)。
-
沒有列出維護者,或者所謂的維護者已經(jīng)在該子系統(tǒng)中至少 6 個月沒有活動了。
-
自 2020 年 1 月發(fā)布 5.5 內(nèi)核以來,至少有 50 個提交跟這個子系統(tǒng)有關(guān)。
這個搜索的目的是找出那些仍在進行某種活躍開發(fā),但沒有活躍的、明確指定的子系統(tǒng)。搜索結(jié)果可以分為幾類。 有些 MAINTAINERS 的條目中包含了大量的文件,使得 commit 數(shù)量看起來比真實情況要多了不少。例如,名為 "ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API "的子系統(tǒng)跟 drivers/dma 下的所有文件都有關(guān),"DMA GENERIC OFFLOAD ENGINE SUBSYSTEM" 也包含這些文件。該子系統(tǒng)則由 Vinod Koul 積極維護。有兩個子系統(tǒng)屬于這一類,在下面的表格中,"Activity" 列表示維護者最后一次我們看到他的活動時間(如果有的話),而 "Commits" 則顯示了自 5.5 以來影響到這個子系統(tǒng)的 commit 次數(shù)。 Subsystem Activity Commits
|
|
|
ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
|
——
|
536
|
HISILICON NETWORK SUBSYSTEM DRIVER
|
2019-11-16
|
258
|
這些子系統(tǒng)或者不是一個單獨的實體(entity),或者應(yīng)該減少其覆蓋的文件清單,要以符合現(xiàn)實情況。 還有一些子系統(tǒng)的維護者使用的是公司電子郵件別名。比如 "DIALOG SEMICONDUCTOR DRIVERS" 的維護者是 support.opensource@diasemi.com,這個地址顯然不會出現(xiàn)在任何實際的 patch commit 中。不過在該子系統(tǒng)內(nèi)看進去的話,可以看到許多來自 diasemi.com 郵件地址的許多 review,所以該子系統(tǒng)不能說是真的沒人維護。這個類別包含: Subsystem Activity Commits
|
|
|
DIALOG SEMICONDUCTOR DRIVERS
|
——
|
120
|
QUALCOMM ATHEROS ATH9K WIRELESS DRIVER
|
——
|
65
|
WOLFSON MICROELECTRONICS DRIVERS
|
——
|
146
|
與之相關(guān)的是有些子系統(tǒng)的維護者信息是過時的,指定的維護者并不活躍,但往往是來自同一公司的其他人接替了他的工作,并承擔(dān)事實上的維護工作。這些包括: Subsystem Activity Commits
|
|
|
HISILICON NETWORK SUBSYSTEM 3 DRIVER (HNS3)
|
2019-11-16
|
234
|
HISILICON SECURITY ENGINE V2 DRIVER (SEC2)
|
2020-06-18
|
55
|
LINUX FOR POWER MACINTOSH
|
2018-10-19
|
71
|
MELLANOX ETHERNET INNOVA DRIVERS
|
——
|
93
|
MELLANOX MLX4 IB driver
|
——
|
70
|
OMAP HWMOD DATA
|
2016-06-10
|
102
|
QCOM AUDIO (ASoC) DRIVERS
|
2018-05-21
|
125
|
TEGRA I2C DRIVER
|
2018-05-30
|
56
|
最后,還有一些子系統(tǒng)似乎真的缺少維護者,它們通常的 commit 是由其他的子系統(tǒng)維護者來合并,或者是通過少數(shù)幾個終極維護者來最終合入的。它們是: Subsystem Activity Commits
|
|
|
ARM/UNIPHIER ARCHITECTURE
|
——
|
73
|
DRBD DRIVER
|
2018-12-20
|
51
|
FRAMEBUFFER LAYER
|
——
|
402
|
HMM - Heterogeneous Memory Management
|
2020-05-19
|
54
|
I2C SUBSYSTEM HOST DRIVERS
|
——
|
434
|
MARVELL MVNETA ETHERNET DRIVER
|
2018-11-23
|
65
|
MEDIA DRIVERS FOR RENESAS - VIN
|
2019-10-10
|
56
|
MUSB MULTIPOINT HIGH SPEED DUAL-ROLE CONTROLLER
|
2020-06-24
|
54
|
NFC SUBSYSTEM
|
——
|
72
|
PROC FILESYSTEM
|
——
|
171
|
PROC SYSCTL
|
2020-06-08
|
51
|
QLOGIC QLGE 10Gb ETHERNET DRIVER
|
2019-10-04
|
77
|
STAGING - REALTEK RTL8188EU DRIVERS
|
2020-07-15
|
121
|
STMMAC ETHERNET DRIVER
|
2020-05-01
|
174
|
UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER
|
——
|
277
|
USB NETWORKING DRIVERS
|
——
|
119
|
X86 PLATFORM DRIVERS - ARCH
|
——
|
119
|
對于一直關(guān)注相關(guān)領(lǐng)域的人來說,上面的列表并不出乎預(yù)料。frameebuffer 子系統(tǒng)是一個已知有問題的領(lǐng)域,由于缺乏維護,"soft scrollback" 功能最近就被從 framebuffer 驅(qū)動中移除了。不少人仍然需要使用這段代碼,但它越來越難以與內(nèi)核的圖形驅(qū)動集成起來使用,很少有人有興趣去深入研究它。 事實上,I2C host driver 確實有一個事實上的維護者,它就是 Wolfram Sang,他也維護著 core I2C 子系統(tǒng)。他一直希望有人能幫助他維護這些驅(qū)動程序,但似乎沒有人愿意幫助他,所以他在有時間的時候就也負(fù)責(zé)維護這些驅(qū)動程序。/proc 是一個有趣的例子,每個人都依賴它,但沒有人負(fù)責(zé)維護它。HMM 也很有趣,創(chuàng)建者當(dāng)初花了很多精力來把 HMM 功能合入 mainline,但現(xiàn)在似乎轉(zhuǎn)向去忙其他事情了。 以上這些地方,看起來都是有抱負(fù)的內(nèi)核開發(fā)者可以參與進來提供幫助的地方。 那么那些在 MAINTAINERS 文件中沒有記錄的子系統(tǒng)呢?如果我們用快速腳本來查找一下內(nèi)核樹中所有的未被 MAINTAINERS 文件包含的文件,我們得到的文件列表包含超過 2800 個文件。其中自然包括 MAINTAINERS 文件本身。其余的絕大多數(shù)都是 include/下的頭文件,其中大部分可能都有維護者,應(yīng)該添加到 MAINTAINER 文件中相應(yīng)的條目下。不過令人沮喪的是,在 kernel/目錄下有 72 個文件沒有列出維護者。這當(dāng)然不是現(xiàn)實情況。SYSV IPC 代碼是沒有維護者的,這反映了它普遍不受歡迎。其余大部分未維護的文件都在 tools/ 或 samples/ 目錄下。 比較難找出來的是 MAINTAINERS 中號稱會包含的文件中,其實有一些并不是由指定的人維護的。這種情況經(jīng)常出現(xiàn)在那些指定包含整個目錄樹的條目中。例如,編者被列為需要處理 Documentation/目錄,但肯定不能說我真的是在 "維護" 這么多文件。類似的情況在內(nèi)核樹中很多地方都有。 如果有人希望從這些數(shù)據(jù)中得出一些整體性的結(jié)論,那么可能會是這些:MAINTAINERS 文件肯定有一些黑暗的角落,這些角落本身也可能需要一些維護(其中一些已經(jīng)在做了)。內(nèi)核中一些缺乏維護者的部分,仍然是可以使用的,而另一些則已經(jīng)過于古老都不需要維護了。不過,大多數(shù)情況下,內(nèi)核中的子系統(tǒng)都有指定的維護者,而且他們中的大多數(shù)人至少都在努力維護他們負(fù)責(zé)的代碼。The situation could be a lot worse。 [和往常一樣,生成上述表格的腳本可以在 gitdm 倉庫中找到,網(wǎng)址是 git://git.lwn.net/gitdm.git] 。 END
By Jonathan Corbet
January 14, 2021
DeepL assisted translation
https://lwn.net/Articles/842415/
版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系刪除。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!
掃描二維碼,關(guān)注更多精彩內(nèi)容
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。
關(guān)鍵字:
阿維塔
塞力斯
華為
加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...
關(guān)鍵字:
AWS
AN
BSP
數(shù)字化
倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...
關(guān)鍵字:
汽車
人工智能
智能驅(qū)動
BSP
北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...
關(guān)鍵字:
亞馬遜
解密
控制平面
BSP
8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。
關(guān)鍵字:
騰訊
編碼器
CPU
8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。
關(guān)鍵字:
華為
12nm
EDA
半導(dǎo)體
8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。
關(guān)鍵字:
華為
12nm
手機
衛(wèi)星通信
要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...
關(guān)鍵字:
通信
BSP
電信運營商
數(shù)字經(jīng)濟
北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...
關(guān)鍵字:
VI
傳輸協(xié)議
音頻
BSP
北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...
關(guān)鍵字:
BSP
信息技術(shù)
山海路引?嵐悅新程 三亞2024年8月27日 /美通社/ --?近日,海南地區(qū)六家凱悅系酒店與中國高端新能源車企嵐圖汽車(VOYAH)正式達(dá)成戰(zhàn)略合作協(xié)議。這一合作標(biāo)志著兩大品牌在高端出行體驗和環(huán)保理念上的深度融合,將...
關(guān)鍵字:
新能源
BSP
PLAYER
ASIA
上海2024年8月28日 /美通社/ -- 8月26日至8月28日,AHN LAN安嵐與股神巴菲特的孫女妮可?巴菲特共同開啟了一場自然和藝術(shù)的療愈之旅。 妮可·巴菲特在療愈之旅活動現(xiàn)場合影 ...
關(guān)鍵字:
MIDDOT
BSP
LAN
SPI
8月29日消息,近日,華為董事、質(zhì)量流程IT總裁陶景文在中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式上表示,中國科技企業(yè)不應(yīng)怕美國對其封鎖。
關(guān)鍵字:
華為
12nm
EDA
半導(dǎo)體
上海2024年8月26日 /美通社/ -- 近日,全球領(lǐng)先的消費者研究與零售監(jiān)測公司尼爾森IQ(NielsenIQ)迎來進入中國市場四十周年的重要里程碑,正式翻開在華發(fā)展新篇章。自改革開放以來,中國市場不斷展現(xiàn)出前所未有...
關(guān)鍵字:
BSP
NI
SE
TRACE
上海2024年8月26日 /美通社/ -- 第二十二屆跨盈年度B2B營銷高管峰會(CC2025)將于2025年1月15-17日在上海舉辦,本次峰會早鳥票注冊通道開啟,截止時間10月11日。 了解更多會議信息:cc.co...
關(guān)鍵字:
BSP
COM
AI
INDEX
上海2024年8月26日 /美通社/ -- 今日,高端全合成潤滑油品牌美孚1號攜手品牌體驗官周冠宇,開啟全新旅程,助力廣大車主通過駕駛?cè)ヌ剿鞲鼜V闊的世界。在全新發(fā)布的品牌視頻中,周冠宇及不同背景的消費者表達(dá)了對駕駛的熱愛...
關(guān)鍵字:
BSP
汽車制造
此次發(fā)布標(biāo)志著Cision首次為亞太市場量身定制全方位的媒體監(jiān)測服務(wù)。 芝加哥2024年8月27日 /美通社/ -- 消費者和媒體情報、互動及傳播解決方案的全球領(lǐng)導(dǎo)者Cis...
關(guān)鍵字:
CIS
IO
SI
BSP
上海2024年8月27日 /美通社/ -- 近來,具有強大學(xué)習(xí)、理解和多模態(tài)處理能力的大模型迅猛發(fā)展,正在給人類的生產(chǎn)、生活帶來革命性的變化。在這一變革浪潮中,物聯(lián)網(wǎng)成為了大模型技術(shù)發(fā)揮作用的重要陣地。 作為全球領(lǐng)先的...
關(guān)鍵字:
模型
移遠(yuǎn)通信
BSP
高通
北京2024年8月27日 /美通社/ -- 高途教育科技公司(紐約證券交易所股票代碼:GOTU)("高途"或"公司"),一家技術(shù)驅(qū)動的在線直播大班培訓(xùn)機構(gòu),今日發(fā)布截至2024年6月30日第二季度未經(jīng)審計財務(wù)報告。 2...
關(guān)鍵字:
BSP
電話會議
COM
TE
8月26日消息,華為公司最近正式啟動了“華為AI百校計劃”,向國內(nèi)高校提供基于昇騰云服務(wù)的AI計算資源。
關(guān)鍵字:
華為
12nm
EDA
半導(dǎo)體