LWN: 5.11内核数据分析!

共 5488字,需浏览 11分钟

 ·

2021-03-01 10:48

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

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 深度文章以及开源社区的各种新近言论~



浏览 47
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报