chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux內(nèi)核維護(hù)者的真相與誤解

Linux愛好者 ? 來源:Linux News搬運(yùn)工 ? 作者:Linux News搬運(yùn)工 ? 2021-03-03 15:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

自 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)的維護(hù)者(maintainer)來代理決定,他們每個人都對內(nèi)核中這一部分的改動具有部分或者完整的決定權(quán)。

這些維護(hù)者們就被記錄在一個叫 MAINTAINERS 的文件中(當(dāng)然是這個名字)。但是,MAINTAINERS 文件也需要維護(hù),它能很好地反映現(xiàn)實情況嗎?MAINTAINERS 文件的存在目的,并不僅僅是為了讓大家給維護(hù)者點贊。開發(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)中都有誰在進(jìn)行工作。

撰寫 patch 顯然屬于工作內(nèi)容之一,但其他活動也得算,比如處理 patch (可以從 Signed-off-by tag 來得到這個信息) 或 review patch (根據(jù) Reviewed-by 或 Acked-by)。

我們犧牲了一些 CPU 挖礦的時間,得到了一個大概統(tǒng)計值,也就是各個子系統(tǒng)中明確列出的維護(hù)者最后一次在該子系統(tǒng)中實際做了有效工作的時間是什么時候。

對于那些想看細(xì)節(jié)的人來說,可以直接看這個完整結(jié)果(https://lwn.net/Articles/842419/)。

不過,我們可以縮小數(shù)據(jù)范圍,在這個文件中挑選出一些我們更感興趣的內(nèi)容。例如,有 367 個子系統(tǒng)在整個 Git 歷史中都沒有維護(hù)者,或維護(hù)者從未出現(xiàn)過(沒有包括那些沒有文件的 "子系統(tǒng)"–見下文)。

在這些子系統(tǒng)中,很多已經(jīng)過了它本身的黃金時期,比如現(xiàn)在 3c59x 網(wǎng)卡維護(hù)者根本沒有多少工作可做。網(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/),那個列表中都是沒有列出維護(hù)者的子系統(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)用進(jìn)行處理。因此,這個條目的存在價值,是為了讓開發(fā)者在添加新的系統(tǒng)調(diào)用時會抄送 linux-api 郵件列表。

"Arm subarchitectures " 條目也是類似情況。一些無維護(hù)者的子系統(tǒng),比如 framebuffer 層,可能后續(xù)會有人愿意接手從而復(fù)活。

reiserfs 文件系統(tǒng)缺乏維護(hù)者,但似乎仍有一些用戶。其他的子系統(tǒng),比如 DECnet 或 Matrox framebuffer,可能最好的處理就是不去管它了(或干脆刪除掉)。

MAINTAINERS 文件中列出的一些 "子系統(tǒng)" 沒有任何文件需要修改。

一個有趣的例子是 "embedded Linux",據(jù)說由 Paul Gortmaker、Matt Mackall 和 David Woodhouse 維護(hù)。鑒于嵌入式 Linux 的成功,我們都認(rèn)為他們的工作非常出色。"device number registry" 聲稱是有維護(hù)的,但這里只包含一個鏈接,指向一個不存在的網(wǎng)頁。

"disk geometry and partition handling" 這一條中的 URL 仍然有效,但這些網(wǎng)頁似乎已經(jīng)有十多年沒有更新了,可以看出最近 Zip 驅(qū)動器的 geometry 并沒有什么進(jìn)展。

man page 這些手冊頁面倒是有積極維護(hù)的,但它們不在內(nèi)核代碼樹中。

Help needed

從目前的結(jié)果可以得出幾個結(jié)論。一個是很多內(nèi)核子系統(tǒng)現(xiàn)在并不是真的需要有人來維護(hù),相反,其中一些可能需要被刪除掉。另一個結(jié)論是,也許 MAINTAINERS 文件本身需要清理一下。但還有一個有價值的問題,那就是從這些數(shù)據(jù)是否可以看出是否有一些子系統(tǒng)從新的維護(hù)者中獲益匪淺的呢?

為了回答這個問題,我們又花費了一些本來可以用來挖礦的 CPU 時間,來尋找符合這些標(biāo)準(zhǔn)的子系統(tǒng)。

沒有列出維護(hù)者,或者所謂的維護(hù)者已經(jīng)在該子系統(tǒng)中至少 6 個月沒有活動了。

自 2020 年 1 月發(fā)布 5.5 內(nèi)核以來,至少有 50 個提交跟這個子系統(tǒng)有關(guān)。

這個搜索的目的是找出那些仍在進(jì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 積極維護(hù)。有兩個子系統(tǒng)屬于這一類,在下面的表格中,"Activity" 列表示維護(hù)者最后一次我們看到他的活動時間(如果有的話),而 "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)的維護(hù)者使用的是公司電子郵件別名。比如 "DIALOG SEMICONDUCTOR DRIVERS" 的維護(hù)者是 support.opensource@diasemi.com,這個地址顯然不會出現(xiàn)在任何實際的 patch commit 中。不過在該子系統(tǒng)內(nèi)看進(jìn)去的話,可以看到許多來自 diasemi.com 郵件地址的許多 review,所以該子系統(tǒng)不能說是真的沒人維護(hù)。

這個類別包含:

Subsystem Activity Commits
DIALOG SEMICONDUCTOR DRIVERS —— 120
QUALCOMM ATHEROS ATH9K WIRELESS DRIVER —— 65
WOLFSON MICROELECTRONICS DRIVERS —— 146

與之相關(guān)的是有些子系統(tǒng)的維護(hù)者信息是過時的,指定的維護(hù)者并不活躍,但往往是來自同一公司的其他人接替了他的工作,并承擔(dān)事實上的維護(hù)工作。

這些包括:

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)似乎真的缺少維護(hù)者,它們通常的 commit 是由其他的子系統(tǒng)維護(hù)者來合并,或者是通過少數(shù)幾個終極維護(hù)者來最終合入的。

它們是:

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)域,由于缺乏維護(hù),"soft scrollback" 功能最近就被從 framebuffer 驅(qū)動中移除了。

不少人仍然需要使用這段代碼,但它越來越難以與內(nèi)核的圖形驅(qū)動集成起來使用,很少有人有興趣去深入研究它。事實上,I2C host driver 確實有一個事實上的維護(hù)者,它就是 Wolfram Sang,他也維護(hù)著 core I2C 子系統(tǒng)。他一直希望有人能幫助他維護(hù)這些驅(qū)動程序,但似乎沒有人愿意幫助他,所以他在有時間的時候就也負(fù)責(zé)維護(hù)這些驅(qū)動程序。

/proc 是一個有趣的例子,每個人都依賴它,但沒有人負(fù)責(zé)維護(hù)它。HMM 也很有趣,創(chuàng)建者當(dāng)初花了很多精力來把 HMM 功能合入 mainline,但現(xiàn)在似乎轉(zhuǎn)向去忙其他事情了。

以上這些地方,看起來都是有抱負(fù)的內(nèi)核開發(fā)者可以參與進(jìn)來提供幫助的地方。那么那些在 MAINTAINERS 文件中沒有記錄的子系統(tǒng)呢?如果我們用快速腳本來查找一下內(nèi)核樹中所有的未被 MAINTAINERS 文件包含的文件,我們得到的文件列表包含超過 2800 個文件。其中自然包括 MAINTAINERS 文件本身。其余的絕大多數(shù)都是 include/下的頭文件,其中大部分可能都有維護(hù)者,應(yīng)該添加到 MAINTAINER 文件中相應(yīng)的條目下。

不過令人沮喪的是,在 kernel/目錄下有 72 個文件沒有列出維護(hù)者。這當(dāng)然不是現(xiàn)實情況。SYSV IPC 代碼是沒有維護(hù)者的,這反映了它普遍不受歡迎。

其余大部分未維護(hù)的文件都在 tools/ 或 samples/ 目錄下。比較難找出來的是 MAINTAINERS 中號稱會包含的文件中,其實有一些并不是由指定的人維護(hù)的。這種情況經(jīng)常出現(xiàn)在那些指定包含整個目錄樹的條目中。例如,編者被列為需要處理 Documentation/目錄,但肯定不能說我真的是在 "維護(hù)" 這么多文件。類似的情況在內(nèi)核樹中很多地方都有。

如果有人希望從這些數(shù)據(jù)中得出一些整體性的結(jié)論,那么可能會是這些:MAINTAINERS 文件肯定有一些黑暗的角落,這些角落本身也可能需要一些維護(hù)(其中一些已經(jīng)在做了)。內(nèi)核中一些缺乏維護(hù)者的部分,仍然是可以使用的,而另一些則已經(jīng)過于古老都不需要維護(hù)了。不過,大多數(shù)情況下,內(nèi)核中的子系統(tǒng)都有指定的維護(hù)者,而且他們中的大多數(shù)人至少都在努力維護(hù)他們負(fù)責(zé)的代碼。The situation could be a lot worse。

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11624

    瀏覽量

    217849
  • 自動化
    +關(guān)注

    關(guān)注

    30

    文章

    5880

    瀏覽量

    89056
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4856

    瀏覽量

    89532

原文標(biāo)題:Linux 內(nèi)核維護(hù)者的真相與誤解

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    基于 DR1M90 的 Linux-RT 內(nèi)核開發(fā):從編譯配置到 GPIO / 按鍵應(yīng)用實現(xiàn)(1)

    本手冊由創(chuàng)龍科技研發(fā),針對 DR1M90,詳述 Linux-RT 實時內(nèi)核開發(fā):含實時性測試(LinuxLinux-RT 對比、CPU 空載 / 滿負(fù)荷 / 隔離狀態(tài)測試)、
    的頭像 發(fā)表于 12-02 10:38 ?57次閱讀
    基于 DR1M90 的 <b class='flag-5'>Linux</b>-RT <b class='flag-5'>內(nèi)核</b>開發(fā):從編譯配置到 GPIO / 按鍵應(yīng)用實現(xiàn)(1)

    Linux內(nèi)核printk日志級別全解析:從參數(shù)解讀到實操配置

    一、開篇:一個命令引出的核心問題 在?Linux?終端執(zhí)行?cat /proc/sys/kernel/printk,你可能會看到這樣的輸出: 這串?dāng)?shù)字不是隨機(jī)的,而是內(nèi)核日志系統(tǒng)的“核心配置開關(guān)
    的頭像 發(fā)表于 11-20 15:54 ?1208次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>printk日志級別全解析:從參數(shù)解讀到實操配置

    【書籍評測活動NO.67】成為硬核Linux開發(fā):《Linux 設(shè)備驅(qū)動開發(fā)(第 2 版)》

    )。成為硬核Linux開發(fā)Linux系統(tǒng)的設(shè)備驅(qū)動開發(fā),一直給人門檻較高的印象,主要因內(nèi)核機(jī)制抽象、需深度理解硬件原理、開發(fā)調(diào)試難度大所致。2021年,一本講解驅(qū)動開發(fā)的專著問世即獲
    發(fā)表于 11-17 17:52

    deepin亮相2025中國Linux內(nèi)核開發(fā)大會

    11 月 1 日,第二十屆中國 Linux 內(nèi)核開發(fā)大會(CLK)在深圳舉辦。CLK 作為國內(nèi) Linux 內(nèi)核領(lǐng)域極具影響力的峰會,由清
    的頭像 發(fā)表于 11-05 17:59 ?607次閱讀

    Linux內(nèi)核參數(shù)調(diào)優(yōu)方案

    在高并發(fā)微服務(wù)環(huán)境中,網(wǎng)絡(luò)性能往往成為K8s集群的瓶頸。本文將深入探討如何通過精細(xì)化的Linux內(nèi)核參數(shù)調(diào)優(yōu),讓你的K8s節(jié)點網(wǎng)絡(luò)性能提升30%以上。
    的頭像 發(fā)表于 08-06 17:50 ?697次閱讀

    如何配置和驗證Linux內(nèi)核參數(shù)

    Linux系統(tǒng)運(yùn)維和性能優(yōu)化中,內(nèi)核參數(shù)(sysctl)的配置至關(guān)重要。合理的參數(shù)調(diào)整可以顯著提升網(wǎng)絡(luò)性能、系統(tǒng)穩(wěn)定性及資源利用率。然而,僅僅修改參數(shù)是不夠的,如何驗證這些參數(shù)是否生效同樣關(guān)鍵。
    的頭像 發(fā)表于 05-29 17:40 ?771次閱讀

    碳化硅何以英飛凌?—— SiC MOSFET性能評價的真相

    在碳化硅(SiC)技術(shù)的應(yīng)用中,許多工程師對SiC的性能評價存在誤解,尤其是關(guān)于“單位面積導(dǎo)通電阻(Rsp)”和“高溫漂移”的問題。作為“碳化硅何以英飛凌”的系列文章,本文將繼續(xù)為您揭開這些誤區(qū)
    的頭像 發(fā)表于 04-30 18:21 ?638次閱讀
    碳化硅何以英飛凌?—— SiC MOSFET性能評價的<b class='flag-5'>真相</b>

    Linux內(nèi)核編譯失???移動硬盤和虛擬機(jī)的那些事兒

    Linux開發(fā)中,編譯內(nèi)核是一項常見任務(wù),但不少開發(fā)在移動硬盤或虛擬機(jī)環(huán)境下嘗試時會遭遇失敗。本文將簡要探討這些問題的成因,并介紹一些虛擬機(jī)使用技巧,幫助大家更好地應(yīng)對相關(guān)問題。在移動硬盤里編譯
    的頭像 發(fā)表于 04-11 11:36 ?710次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>編譯失敗?移動硬盤和虛擬機(jī)的那些事兒

    如何維護(hù)i.MX6ULL的安全內(nèi)核

    。 5.15 內(nèi)核系列將維護(hù)到 2026 年 12 月,這意味著將發(fā)布新版本,從而關(guān)閉已知漏洞。 不幸的是,據(jù)我所知,linux-imx 分支原則上不會使用較新的微版本進(jìn)行更新;5.15.71 仍然是
    發(fā)表于 04-01 08:28

    樹莓派4 性能大比拼:標(biāo)準(zhǔn)Linux與實時Linux 4.19內(nèi)核的延遲測試

    引言本文是對我之前關(guān)于RaspberryPi3同一主題的帖子的更新。與之前的帖子一樣,我使用的是隨Raspbian鏡像提供的標(biāo)準(zhǔn)內(nèi)核,以及應(yīng)用了RT補(bǔ)丁的相似內(nèi)核版本。對于實時版,我
    的頭像 發(fā)表于 03-25 09:39 ?643次閱讀
    樹莓派4 性能大比拼:標(biāo)準(zhǔn)<b class='flag-5'>Linux</b>與實時<b class='flag-5'>Linux</b> 4.19<b class='flag-5'>內(nèi)核</b>的延遲測試

    2025年常用實時Linux系統(tǒng)深度評測

    ,易于部署和擴(kuò)展。 ?- 易用性:基于Linux內(nèi)核,開發(fā)和維護(hù)成本較低,對于熟悉Linux的開發(fā)團(tuán)隊來說,上手難度小。 - 適用場景: ?- 適用于工業(yè)自動化、機(jī)器人控制等對實時性要
    的頭像 發(fā)表于 03-06 10:57 ?1187次閱讀

    騰訊云內(nèi)核團(tuán)隊修復(fù)Linux關(guān)鍵Bug

    騰訊云操作系統(tǒng)(Tencent OS)內(nèi)核團(tuán)隊近日在Linux社區(qū)取得了顯著成果。他們提交的兩項改進(jìn)方案,成功解決了自2021年以來一直困擾眾多一線廠商,并在近期讓多個Linux頂級
    的頭像 發(fā)表于 12-31 10:58 ?908次閱讀

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-Linux內(nèi)核移植之內(nèi)核簡介

    所以每個模塊都有對應(yīng)的維護(hù)人員。維護(hù)人員的工作就是審核人們提交的代碼是否正確,如果沒有問題,就會合并到主分支上。這樣就會使linux內(nèi)核不斷完善和更新。接下來就是芯片原廠例如恩智浦,開
    發(fā)表于 12-16 13:08

    飛凌嵌入式ElfBoard ELF 1板卡-Linux內(nèi)核移植之內(nèi)核簡介

    所以每個模塊都有對應(yīng)的維護(hù)人員。維護(hù)人員的工作就是審核人們提交的代碼是否正確,如果沒有問題,就會合并到主分支上。這樣就會使linux內(nèi)核不斷完善和更新。接下來就是芯片原廠例如恩智浦,開
    發(fā)表于 12-13 09:03

    關(guān)于光耦合器的常見誤解

    光耦合器以其提供電氣隔離的能力而聞名,廣泛應(yīng)用于從電源到通信系統(tǒng)的各種應(yīng)用。盡管光耦合器非常普遍,但人們對其特性和用途存在一些常見的誤解。本文將揭穿一些最常見的誤解,以幫助工程師和愛好做出更明智的決策。
    的頭像 發(fā)表于 12-06 10:04 ?984次閱讀
    關(guān)于光耦合器的常見<b class='flag-5'>誤解</b>