LWN: 5.11内核数据分析!

Some 6.18 development statistics Linux 6.18内核发布总结 Linus Torvalds于11月30日正式发布Linux 6.18内核,标志着2025年最后一个完整开发周期结束。该版本包含13,710个提交,来自创纪录的2,134名开发者,其中333人是首次贡献者。声音子系统维护者Takashi Iwai成为最活跃开发者,贡献了205个变更集。 在雇主方面,Intel、Google和Red Hat继续保持领先地位,共支持了约30%的代码变更。值得注意的是,Alice Ryhl经过多年努力贡献了Rust binder驱动。 作为年度最 阅读详情

关注了就能看到更多这么棒的文章哦~

Development statistics for the 5.11 kernel

By Jonathan Corbet
February 15, 2021
https://lwn.net/Articles/845831/

Linux kernel 5.11 在 2 月 14 日正式发布了,这可以算得上人们期待的一个浪漫情人节礼物了。这一版的内核拥有来自 1,912 位开发者的 14,340 个改动。虽然算不上是近来最繁忙的周期,不过里面内容还是很丰富的。下面是我们的传统节目,对 5.11 合入代码进行一次分析。

5.x 系列内核的历史数据如下:

ReleaseChangesetsDevelopers
5.012,8081,760
5.113,0341,727
5.214,0241,784
5.314,6051,882
5.414,6191,877
5.514,3501,885
5.612,6651,712
5.713,9011,878
5.816,3061,991
5.914,8581,917
5.1016,1741,971
5.1114,3401,912

因此 5.11 开发周期看起来算是很普通的,也就是 5.x 系列的中游水平。参与进来的开发者数量仍然保持在了超过 1,900 位的水准,其中 280 位开发者是首次参与贡献。5.11 kernel 比起 5.10 来增加了 608,000 行代码。

5.11 中最活跃的开发者如下:

Most active 5.11 developers
By changesets
Lee Jones4973.5%
Krzysztof Kozlowski1951.4%
Thomas Gleixner1481.0%
Christophe Leroy1350.9%
Chuck Lever1330.9%
Christoph Hellwig1320.9%
Sakari Ailus1260.9%
Arnd Bergmann1190.8%
Ville Syrjälä1190.8%
Jonathan Cameron1150.8%
Gustavo A. R. Silva930.6%
Tom Rix900.6%
Andy Shevchenko890.6%
Geert Uytterhoeven870.6%
Johannes Berg860.6%
Alex Elder830.6%
Takashi Iwai830.6%
Christian König820.6%
Colin Ian King810.6%
Trond Myklebust810.6%
By changed lines
Huang Rui26943628.0%
Bhawanpreet Lakha816618.5%
Lee Jones179731.9%
Oded Gabbay142811.5%
Jiaxin Yu134081.4%
Johannes Berg97641.0%
Sakari Ailus93051.0%
Ilya Dryomov75280.8%
Srinivas Kandagatla60720.6%
Jonathan Cameron59580.6%
Fabio Estevam59130.6%
Christian König57890.6%
Roman Li53700.6%
Arnd Bergmann50840.5%
Chuck Lever46810.5%
Thomas Gleixner46720.5%
Christoph Hellwig46120.5%
Jin Yao45770.5%
Jarkko Sakkinen45750.5%
Peter Geis45210.5%


Lee Jones 是这次许多 patch 的作者,主要都是在修正代码库中各处的编译器 warning。Krzysztof Kozlowski 则继续对 driver 和 devicetree 文件进行清理和提供小改进。Thomas Gleixner 则进行了许多底层改进,包括 kmap_local() 实现(https://lwn.net/Articles/836144/)。Christophe Leroy 则在 PowerPC 架构代码方面进行了许多改动,Chuck Lever 则贡献了许多 NFS-server 改动(这里基本都是他的修改)。

目前为止增加代码最多的改动,来自 Huang Rui,添加了另一套 amdgpu 头文件,很多很多头文件。Bhawanpreet Lakha 也在 AMD graphics drivers 里进行了许多改动. Oded Gabbay 为 Habana "Gaudi" 处理器增加了支持, 同样不可避免地引入了许多头文件, 还有 Jiaxin Yu 加入了 mt8192 audio driver.

5.11 kernel 中有 225 个公司参与进来(这是我们能识别出来的部分)。这个数字也算正常。其中最活跃的公司们是:

Most active 5.11 employers
By changesets
Intel13649.5%
(Unknown)11067.7%
Linaro10507.3%
Red Hat8365.8%
AMD8255.8%
Huawei Technologies7665.3%
Google6984.9%
(None)5233.6%
SUSE4513.1%
IBM4323.0%
NVIDIA4002.8%
Facebook3902.7%
Arm3132.2%
Samsung2882.0%
NXP Semiconductors2842.0%
(Consultant)2551.8%
Oracle2501.7%
Linutronix2331.6%
Renesas Electronics2221.5%
Code Aurora Forum2051.4%
By lines changed
AMD38266439.7%
Intel941029.8%
Linaro472884.9%
(Unknown)397474.1%
(None)283342.9%
Google259762.7%
Red Hat249262.6%
MediaTek196572.0%
NVIDIA180291.9%
Huawei Technologies178531.9%
NXP Semiconductors151081.6%
IBM147671.5%
SUSE143371.5%
Facebook130331.4%
(Consultant)127161.3%
Code Aurora Forum124911.3%
Arm100651.0%
BayLibre96881.0%
Linutronix88430.9%
Texas Instruments79160.8%

这次仍然没有什么出乎意料的内容。真要说这里有什么变化趋势正在发生的话,那么可以判断说硬件厂商的贡献在逐渐增加,相较于软件公司以及支持类型的公司。

Drilling down

上面的数字都是针对 kernel source tree 这个整体来统计的。仔细看到各个子系统内部的话,情况就会有些不同。这方面的数据会在每个 release 中都发生更多变化,因此比较合理的做法是按照更长周期来审查这个数据。下面的数字就是从 2020 年 1 月的 5.5 release 以来积累到现在的情况。也就是说,这些数据基本可以看作是去年合入的工作的统计。

大多数的核心内核代码是在 ./kernel 这个目录中。2020 年在这个目录中提供了活跃贡献的开发者和公司分别是:

Most active (kernel)
Developers
Paul E. McKenney2509.0%
Peter Zijlstra1405.1%
Christoph Hellwig1104.0%
Thomas Gleixner1053.8%
Steven Rostedt983.5%
Yonghong Song592.1%
Marco Elver582.1%
Masami Hiramatsu562.0%
Eric W. Biederman441.6%
Andrii Nakryiko401.4%
Companies
Facebook48617.6%
Intel29410.6%
Google2749.9%
Red Hat2288.2%
Linutronix1615.8%
(Unknown)1415.1%
Linaro1214.4%
(Consultant)1124.0%
VMware983.5%
Arm973.5%

过去几年里面 Facebook 这边拥有了越来越多的 core-kernel 开发者,目前 Facebook 比起其他公司来说在 kernel 目录中贡献了更多的 patch。

不过 memory-management 内存管理部分的代码(位于 mm 子目录)的情况则有些不同:

Most active (mm)
Developers
Christoph Hellwig825.4%
Matthew Wilcox654.3%
David Hildenbrand604.0%
Wei Yang573.8%
Roman Gushchin513.4%
Andrey Konovalov483.2%
Johannes Weiner453.0%
Vlastimil Babka362.4%
John Hubbard342.2%
Alex Shi302.0%
Mike Rapoport302.0%
Companies
Red Hat16210.7%
Google15610.3%
Facebook1218.0%
(Unknown)1177.7%
Oracle956.3%
(Consultant)855.6%
(None)755.0%
SUSE734.8%
Alibaba734.8%
Huawei Technologies714.7%
Intel684.5%

文件系统部分的情况如下:

Most active (fs)
Developers
Pavel Begunkov3435.8%
Christoph Hellwig3225.4%
Jens Axboe2644.4%
Darrick J. Wong2444.1%
Josef Bacik2283.8%
Trond Myklebust2073.5%
Nikolay Borisov1993.3%
Al Viro1742.9%
Eric Biggers1542.6%
Qu Wenruo1452.4%
Companies
Red Hat104317.5%
SUSE78813.2%
Facebook69011.6%
Oracle5479.2%
Huawei Technologies3896.5%
(Consultant)3656.1%
Google3475.8%
(None)3145.3%
(Unknown)2854.8%
Hammerspace2073.5%

去年 filesystem 里的相关工作主要是跟快速演进的 io_uring 子系统和核心代码有关。此外,XFS, Btrfs, NFS 的开发也都很活跃。

networking 网络子系统里的情况如下:

Most active (net)
Developers
Chuck Lever1884.1%
Christoph Hellwig1693.7%
Paolo Abeni1363.0%
Florian Westphal1242.7%
Eric Dumazet1152.5%
Karsten Graul1062.3%
Pablo Neira Ayuso1052.3%
Johannes Berg1002.2%
Vladimir Oltean831.8%
Xin Long771.7%
Companies
Red Hat57312.5%
Google4309.4%
Intel3838.3%
(None)3086.7%
(Unknown)3036.6%
(Consultant)2385.2%
Oracle2194.8%
Mellanox1834.0%
IBM1793.9%
Huawei Technologies1723.7%

这个结果挺有意思。比如,这里 Chuck Lever 也出现了,主要是因为他贡献了许多 RPC 代码,用在 NFS 子系统里。而 Christoph Hellwig 则主要是因为他在代码库中其他地方的改动,导致也在这里进行了不少修改。这两位都不是网络领域的核心开发者。Paolo Abeni 和 Florian Westphal 两位都是在做 multipath TCP 代码的 upstream 工作,已经进行了很长时间了。

我们能看到一个结论,core-kernel 的工作主要集中在少数几个公司中。也就是说跟过去几年的情况已经很不一样了。这也说明,越来越多的公司意识到它们对 Linux 的改动不应该再局限在自己硬件的相关子系统了。这对于 kernel 的长期延续方面来说,应该是一个好消息。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

Linux Kernel 7.1 合并窗口全记录:开发者激增、旧代码大清洗与 AI 时代的新逻辑 Linux内核7.1版本迎来重大变革:开发者数量创新高(2362位),AI辅助开发显著降低门槛但带来补丁质量挑战;核心优化包括Intel FRED机制、io_uring BPF支持等;启动"大清洗"删除14万行老旧代码以应对AI安全威胁;Rust支持持续推进。内核社区正经历AI驱动的深度转型,在性能提升与安全防御间寻求平衡。 阅读详情

相关推荐

8155平台multi-display(多屏显示)原理与配置

8155平台多屏互动原理与配置

漂流瓶の海岸 1606

又一位“内核老匠人”悄悄离开了 Red Hat|一个人一个时代

David 是在 Linux 内核圈名人堂top级的人物,他不是那种喜欢抛头露面的明星工程师,但谁都知道——但你知道,这背后是一段十年工作的收束,一个时代的转身,还有 Red Hat 内核团队必然要面对的一段空窗期。没有仪式,没有官宣,就像他平时写代码一样——能一句话解决的,绝不多用两个字。你动之前,最好看看 David 写过什么,踩过什么,堵过什么。内核圈的“豪放派”和“工匠派”,他是后者,而且是硬核那种。但对熟悉开源生态的人,这是一种“时代细节”的变化。不抢戏,不发声,但关键时刻把系统稳住的人。

IT运维技术圈 364

避坑指南:AUTOSAR FlashDriver操作DFlash模拟EEPROM时,你最容易忽略的5个细节

本文深入探讨了AUTOSAR FlashDriver在DFlash模拟EEPROM操作中最容易被忽视的五大细节问题,包括地址合法性检查、操作时序控制、并发访问冲突、电源稳定性管理和寿命管理。通过实际项目案例和工程化解决方案,帮助开发者避免常见陷阱,提升汽车电子控制单元(ECU)的可靠性和稳定性。

weixin_42741930的博客 246

Looking forward to mapcount madness 2025

exclusive。

mounter625的专栏 120

基于 LSTM 的船舶轨迹预测,单步预测

基于 LSTM 的船舶轨迹预测,单步预测

fyuhao的博客 1万+

Adversarial Texture for Fooling Person Detectors in the Physical World

本文提出了对抗纹理的想法(AdvTexture),与基本补丁攻击不同对抗纹理可以生成任意大小,可以覆盖任意大小的不了,并且纹理的任何局部都有对抗性的效果。当衣服被对抗纹理覆盖是,摄像头捕捉到的每一个局部区域都可以攻击探测器,这成功解决了片段缺失的问题。提出了一种两阶段生成方法:基于环形收割的可扩展生成攻击(TC-EGA)来制作广告纹理。第一阶段,训练一个全卷积网络FCN作为生成器,通过采样随机潜变量作为输入来产生纹理(不同于GAN中传统的生成器架构,每一层都使用卷积运算)......

weixin_49171105的博客 1067

LWN: 终结 /dev/kmem!

关注了就能看到更多这么棒的文章哦~Killing off /dev/kmemBy Jonathan CorbetApril 5, 2021DeepL assisted translatio...

Linux News搬运工 435

Windows C语言编程:Beep API实现蜂鸣器原理与实战

如果你在 Windows 上写过 C 语言程序,想给程序加个简单的提示音,第一个想到的可能是 printf("\a") 。这个转义字符确实能在某些终端里发出“嘀”的一声,但它太原始、太不可控了,而且很多时候根本没声音。那么,有没有一种更“Windows”、更可控、更专业的方法来让你的程序“说话”呢? 答案是肯定的,而且它比你想象的要强大和复杂。Windows 提供了一个名为 Beep 的 API 函数,专门用于生成蜂鸣声。你可能觉得这功能太简单,甚至有点过时——不就是让电脑“哔”一声吗?但恰恰是这个看似简单

weixin_34109408的博客 394

LWN:5.6内核数据分析!

关注了就能看到更多这么棒的文章哦~Some 5.6 kernel development statisticsByJonathan CorbetMarch 30, 2020原文来自:...

Linux News搬运工 746

FPGA SPI驱动ADC避坑指南:以ADC128S022为例,详解时序设计与代码调试

本文以ADC128S022为例,详细解析FPGA通过SPI驱动ADC的时序设计与代码调试中的常见问题。从时钟分频计算、SPI模式选择到状态机实现,提供避坑指南和实战技巧,帮助工程师解决数据采集系统中的时序匹配难题。特别针对FPGA与ADC通信中的微妙差异,给出精确的Verilog代码示例和ModelSim仿真验证方法。

weixin_42522374的博客 458

使用Simulink进行基于IIR滤波器的设计与稳定性分析仿真

IIR滤波器的稳定性与其系统函数的极点位置密切相关。如果所有极点都位于Z平面的单位圆内,则该滤波器是稳定的;否则,滤波器将是不稳定的。在设计IIR滤波器时,确保其稳定性对于避免输出信号发散至关重要。明确你的系统需求,比如输入信号类型(如正弦波)、采样率、IIR滤波器的设计参数(如滤波器类型、阶数、截止频率等)。假设我们需要设计一个低通IIR滤波器,用来去除高于500Hz的所有频率成分,保留低于500Hz的信号成分。采样率为8kHz。

xiaoheshang_123的博客 150

LWN:5.9 kernel开发过程数据分析!

关注了就能看到更多这么棒的文章哦~Some 5.9 kernel development statisticsBy Jonathan CorbetOctober 13, 2020http...

Linux News搬运工 378

最强AI插件Augment,适配idea、vscode,对标cursor!

Augment是一款新兴的AI辅助编码工具,能够无缝集成到IDEA和VS Code等主流IDE中,直接对标专业AI编码工具Cursor。其核心优势包括多IDE适配、无缝集成、代码理解与生成以及对话式编程体验。Augment通过插件形式保留原IDE功能和快捷键习惯,降低学习成本,同时提供深度理解项目上下文和生成高质量代码的能力。此外,Augment还具备审查变更、检查点、代理与代理自动等核心功能,支持从简单配置更改到复杂功能实现的各种开发任务。Augment代表了AI辅助编程工具的新方向,通过增强开发者熟悉的

todoitbo的博客 1万+

Linux操作系统发展历程与核心技术解析

Linux作为开源操作系统的代表,采用模块化内核设计,支持多任务处理和虚拟内存管理等核心功能。其技术架构包含进程管理、内存管理和文件系统等关键子系统,通过GPL许可证保障了开源自由。Linux在服务器、嵌入式系统和云计算领域广泛应用,特别是在容器化和云原生技术中发挥重要作用。随着物联网和人工智能的发展,Linux持续优化实时性和资源管理能力,成为现代IT基础设施的基石。

dianzongfan5428的博客 339

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

LWN:内核6.8版本的开发数据

关注了就能看到更多这么棒的文章哦~Development statistics for 6.8By Jonathan CorbetMarch 11, 2024ChatGLM translationhttps://lwn.net/Articles/964106/6.8 内核在一个典型的、为期九周的开发周期后于 3 月 10 日发布。在此期间,有 1,938 名开发人员贡献了 14,405 个非合并变...

Linux News搬运工 343

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

LWN:更好地控制透明巨页的使用!

PR_SET_THP_DISABLE 的实现是强制性的;相反,Hildenbrand 的补丁为 PR_SET_THP_DISABLE 添加了一个新选项,名为 PR_THP_DISABLE_EXCEPT_ADVISED,它提供了新的语义。正如 David Hildenbrand 的这个补丁(Usama Arif 已将其作为 这个系列 的一部分)所描述的,人们可以考虑让 madvise() 覆盖 PR_SET_THP_DISABLE,但正如 Hildenbrand 所说,“这会大大改变现有文档中描述的语义”。

Linux News搬运工 1812

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Linux Qu Wenruo点名华为开发者提交的补丁有刷KPI嫌疑

Linux内核维护者、发行版 SuSE 的开发者 Qu Wenruo 在邮件列表指出来自华为的开发者 Leizhen 等人提交的补丁有刷 KPI 嫌疑。在经过内核团队审阅后发现,这些提交的补丁主要用于“清理错误信息”“修复拼写错误”,且数量还不在少数,这一类补丁提交通常是来自于一些新手开发者,而反复提交无用补丁的行为被内核团队判定为在公司“刷 KPI”的行为。 邮件全文翻译如下: 嗨,Leizhen,还有邮件列表里的人。 最近我发现一个补丁从 btrfs selftest 中删除了一个调试 OO.

bingyu1024的博客 282

LWN: folio 改动未能合入!

关注了就能看到更多这么棒的文章哦~The folio pull-request pushbackBy Jonathan CorbetSeptember 10, 2021DeepL assi...

Linux News搬运工 417

linux内核5.11,Linux Kernel 5.11首个候选版本更新发布

Linus Torvalds 在今天如期发布了 Linux Kernel 5.11-rc1 版本更新,这标志着为期两周的合并窗口期正式结束。Linus Torvalds 在 5.11-rc1 公告中指出:“好吧,这是一个常规更新,除非你看到实际的差异”。本次更新一个值得关注的地方就是 AMD GPU 描述头文件的巨大 Dump,这让真正的内核变化相形见绌。 AMD “Van Gogh”文件占整个补...

weixin_34260080的博客 411

linux内核5.11,Linux内核5.11.4发布 增加对部分主流硬件的支持

例如在Linux 5.11.4中,有一些原本属于5.12的工作被合并了进来。主要更新如下:- 新的英特尔WiFi PCI ID被添加到So和Qu系列的IWLWIFI驱动中。这意味着支持802.11ax的英特尔WiFi AX201/AX203型号的新PCI ID已经被一些OEM厂商使用,原本这个补丁在Linux 5.11正式发布时就应该被集成,但一直拖到了现在。- 为蓝宝石Radeon RX 560...

weixin_28938701的博客 377

LWN:滚动发布的稳定版内核!

关注了就能看到更多这么棒的文章哦~Rolling stable kernelsBy Jake EdgeOctober 6, 2021OSSNADeepL assisted translat...

Linux News搬运工 535

linux内核5.11,Linux Kernel 5.11内核分支将对网络子系统进行更新

正在开发的 Linux Kernel 5.11 内核分支中,将会对网络子系统进行更新。这些改进包括:● 英特尔 WiFi “IWLWIFI”驱动现为 WiFi 6E 支持 6GHz 频段/ Ultra High Band(UHB)。英特尔的 AX210 模组已经初步支持 WiFi 6E。这是继 Linux Kernel 5.9 内核中高通的 Ath11k 驱动之后,进一步完善对 6GHz WiFi...

weixin_39665507的博客 215

linux 统计_Linux 内核版本 5.11rc4 代码分布简要统计

大家或许会比较想了解,Linux 内核代码里面,有这么多文件夹,各自占了多大空间,大概的代码分布是怎样的呢?通过这篇文章,我们就可以找到相应的答案。在写这个文章的时候, Linux 内核最新的版本是2021-01-18 发布的 5.11-rc4。我们就拿这个最新的版本作为例子做分析。把内核下载下来发现,单linux-5.11-rc4.tar.gz 压缩包就有 181M 这么大;解压缩之...

weixin_42498347的博客 733

mysql中1064错误和字符处理

在java程序中的一些字符串想要保存到数据库中,就不得不注意这个问题,直接贴代码。sql="insert into data_tb(purpose,user_name) " + " values(\'"+purpose+"\',\'"+userName+"\');";Insert ins=new Insert(); ins.insert(sql);要对有字符串的打单引号,单引号要用转义字符”\’”。

wenruo95的专栏 5111

LWN: 内核5.4版本合并窗口——第一部分

点击上方蓝色“Linux News搬运工”关注我们~5.4 Merge window, part 1ByJonathan Corbet截止2019年9月23日,已经有9...

Linux News搬运工 572
上一篇: LWN: Python cryptography, Rust, and Gentoo
下一篇: LWN: 放开kcmp()!
LinuxNews搬运工
博客等级 码龄7年 438粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值