LWN: Linux 5.5开发周期统计数据!

5.5内核版本于2020年1月26日正式发布,共有1885位开发者贡献了14350个非合并更改集,新增代码约59万行,移除约27.2万行,净增31.8万行。Chris Wilson、Christoph Hellwig和Yue Haibing是最活跃的贡献者。本文还分析了4.9内核稳定分支的维护情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

Some 5.5 kernel development statistics

By Jonathan Corbet
January 28, 2020

5.5 kernel在1月26日的时候正式发布了。在这个版本的开发过程中,有人认为传统假期拖慢了开发者的贡献速度。不过最终来看,5.5版本中仍然合入了来自1885位开发者的14350个non-merge changeset,这个速度不算慢了。实际上5.5已经超出了5.4,成为拥有最多开发者的一版kernel。本文会继续按老样子来展示5.5版本中的所有贡献内容,也会讨论一下目前的stable分支的情况。

5.5中何如了590,000行左右的代码,移除了大约272,000行,净增318,000行。5.5的贡献者中,有285位是第一次提交。5.5中最活跃的开发者是:

Most active 5.5 developers
By changesets
Chris Wilson2641.8%
Christoph Hellwig2211.5%
Yue Haibing1971.4%
Colin Ian King1441.0%
Thierry Reding1391.0%
Krzysztof Kozlowski1300.9%
Jens Axboe1240.9%
Arnaldo Carvalho de Melo1210.8%
Arnd Bergmann1200.8%
Geert Uytterhoeven1200.8%
Ville Syrjälä1090.8%
Kuninori Morimoto1060.7%
Alex Deucher910.6%
Takashi Iwai900.6%
Andy Shevchenko890.6%
Tony Lindgren860.6%
Andrii Nakryiko850.6%
zhengbin830.6%
Ben Dooks780.5%
Dmitry Torokhov760.5%
By changed lines
Ard Biesheuvel240063.6%
Haiyan Song201823.0%
Chris Wilson135982.0%
Dmitry Osipenko127451.9%
Hao Zheng112521.7%
Christoph Hellwig106521.6%
Jérôme Pouiller106051.6%
Potnuri Bharat Teja97461.5%
Jason A. Donenfeld86561.3%
Jiaxun Yang65541.0%
Mauro Carvalho Chehab62400.9%
Bhawanpreet Lakha59080.9%
Jens Axboe57090.8%
Thierry Reding52080.8%
Vladimir Oltean49600.7%
Zaibo Xu48490.7%
Adrian Hunter46680.7%
Andrii Nakryiko45710.7%
Nuno Sá45160.7%
Brendan Higgins44020.7%

One

看起来如果想进入这个list,最可靠的办法就是开发显卡驱动。不出意料Chris Wilson对Intel i915驱动的工作让他贡献了最多的changeset。Christoph Hellwig在XFS文件系统、块设备层、RISC-V架构代码中做了大量工作。Yue Haibing和Colin Ian King两位在kernel tree中许多地方贡献了代码清理patch,Theirry Reding则主要开发了Tegra显卡驱动。

在"lines changed"这一列,Ard Biesheuvel主要都是在开发crypto subsystem部分,大多数工作是为了能把WireGuard VPN代码合入5.6而做的。Haiyan Song则提供了2个patch来更新Intel CPU的perf event data。Ditry Osipenko则开发了Tegra硬件相关的支持,Hao Zheng则提交了Marvell octeontx2网络驱动的一个大patch。

关于Test和review的贡献者情况如下:

Test and review credits in 5.5
Tested-by
Andrew Bowers738.2%
Arnaldo Carvalho de Melo465.2%
Keerthy212.4%
Adam Ford212.4%
Yoshihiro Shimoda171.9%
Peter Geis141.6%
Hannes Reinecke121.3%
Stan Johnson121.3%
Aaron Brown121.3%
Sean Nyekjaer111.2%
Randy Dunlap111.2%
Reviewed-by
Darrick J. Wong2053.5%
Rob Herring1763.0%
Chris Wilson1422.4%
Christoph Hellwig1151.9%
Tvrtko Ursulin1091.8%
Alex Deucher941.6%
David Sterba871.5%
Andrew Lunn841.4%
Daniel Vetter731.2%
Christian König621.0%
Greg Kroah-Hartman611.0%

只有797个changeset(占总数5.5%)带有Tested-by tag,4939 changeset(占总数34%)带有Reviewed-by tag。其中两位测试者Andrew Bowers和Keerthy分别专注于测试Intel和TI特有的驱动程序patch。Reviewer中第一名的Darrick Wong作为XFS maintainer,对XFS patch除了加上自己的sign off信息之外,还会打上Reviewed-by tag。大多数其他subsystem maintainer没有这么做。

报出最多bug的开发者,以及给他们credit的开发者,排名如下:

Reported-by credits in 5.5
Recipients
Hulk Robot16415.7%
Syzbot12512.0%
kbuild test robot1029.8%
Dan Carpenter323.1%
Linus Torvalds141.3%
Stephen Rothwell121.2%
Geert Uytterhoeven80.8%
Randy Dunlap80.8%
kernel test robot80.8%
Qian Cai80.8%
Yauheni Kaliuta80.8%
Arnaldo Carvalho de Melo70.7%
Johan Hovold70.7%
Christophe Leroy70.7%
coverity-bot70.7%
Creditors
zhengbin838.0%
YueHaibing696.6%
Eric Dumazet323.1%
Jens Axboe262.5%
Chris Wilson222.1%
Jérôme Pouiller181.7%
Paul E. McKenney161.5%
Takashi Iwai121.2%
Florian Westphal111.1%
Frederic Weisbecker111.1%
Andrii Nakryiko101.0%
Linus Torvalds90.9%

这个数据表明超过1/3的bug report(其中有934个在5.5周期中得到了credit)都是来自自动测试系统。有一些报出的bug比起其他的要严重得多,不过毫无疑问对kernel来说每个发布周期都能由自动测试系统找出几百个bug(并且后续得到了fix)是非常有好处的。

总共231个公司(至少是我们能判断出来的)对5.5有了贡献。其中最活跃的是:

Most active 5.5 employers
By changesets
Intel165511.5%
(Unknown)9997.0%
Red Hat9456.6%
(None)8045.6%
Google7805.4%
AMD7094.9%
Huawei Technologies5864.1%
SUSE5493.8%
Linaro5003.5%
IBM4583.2%
(Consultant)3952.8%
Renesas Electronics3842.7%
Facebook3592.5%
NXP Semiconductors3362.3%
Mellanox3042.1%
Samsung2401.7%
Arm2341.6%
Texas Instruments2181.5%
Canonical1971.4%
NVIDIA1931.3%
By lines changed
Intel9553114.2%
(Unknown)472987.0%
Red Hat340645.1%
Arm335005.0%
Google316174.7%
(None)279124.2%
AMD262593.9%
Linaro258383.8%
(Consultant)233583.5%
Marvell207773.1%
SUSE183212.7%
IBM179232.7%
Facebook176282.6%
Samsung148632.2%
NXP Semiconductors141972.1%
Chelsio133222.0%
Renesas Electronics129431.9%
Huawei Technologies112921.7%
NVIDIA108991.6%
Mellanox107041.6%

这个表单通常没有什么出人意料的地方,这一次也不例外。

A walk on the stable side

4.9 kernel在2016年12月11日发布,已经是3年之前了。当时在4.9 release里面合入了16,214个non-merge changeset。此后,到目前为止,4.9 kernel已经发布了210个stable update版本,额外加入了15,210个changeset,这个数字很大了,都可以算作是额外的一个开发周期了。这里有许多bug fix,并且并不是小改动:4.9.210比起4.9来说增加了80,000行。

对long-term stable kernel的贡献者名单跟普通kernel版本发布时的情况不太一样。下面是4.9发布之后stable update里面最活跃的贡献者:

Most active 4.9-stable contributors
Individuals
Greg Kroah-Hartman3012.0%
Eric Dumazet2851.9%
Johan Hovold2241.5%
Arnd Bergmann2161.4%
Takashi Iwai1841.2%
Dan Carpenter1741.1%
Thomas Gleixner1410.9%
Eric Biggers1210.8%
Xin Long930.6%
Hans de Goede810.5%
Geert Uytterhoeven800.5%
Mark Rutland780.5%
Colin Ian King700.5%
Will Deacon690.5%
Cong Wang690.5%
Bart Van Assche680.4%
Dan Williams680.4%
Gustavo A. R. Silva650.4%
Peter Zijlstra640.4%
Theodore Ts'o640.4%
Companies
Red Hat13538.9%
Google13448.8%
(None)12438.2%
(Unknown)11357.5%
Intel10446.9%
SUSE7454.9%
IBM6694.4%
Oracle4623.0%
Linaro4523.0%
(Consultant)4252.8%
Linux Foundation4182.7%
Huawei Technologies3012.0%
Mellanox2841.9%
Arm2581.7%
Broadcom1891.2%
Samsung1871.2%
Canonical1811.2%
Linutronix1651.1%
Renesas Electronics1491.0%
AMD1471.0%

Greg Kroah-Hartman位居第一,不过其实其中有超过200个commit都只是修改每个stable release的版本号。其他的commit中,有50个是revert patch,用来去除一些后来发现有问题的stable change。把这些去掉的话,他应该就不在top 20的名单里了。

这个名单一眼看来就能看到其中有很多专注于core kernel的长期贡献者。他们在各个kernel release中可能并不是贡献最多的开发者,不过他们做了许多重大的fix,对我们非常重要。

在4.9到4.9.210之间合入的fix里面,只有2,775个包含了Reported-by tag,占总数的18%。考虑到大多数commit都是bug fix,这就说明许多bug报出来之后还是没有得到应有的credit荣誉。在4.9.x中得到credit的bug reporter如下:

Top 4.9.x bug reporters
Syzbot471
Dmitry Vyukov98
Andrey Konovalov79
Dan Carpenter52
kbuild test robot32
Hulk Robot30
Fengguang Wu26
Jianlin Shi26
Ben Hutchings24
Jann Horn23
Al Viro18
Guenter Roeck18
Wen Xu17
Arnd Bergmann14
Eric Biggers14
Anatoly Trosinenko11
Alexander Potapenko10
Li Shuang10
Eric Dumazet9
Tetsuo Handa9
Pali Rohár9

需要注意的是,Syzbot和Dmitry Vyukov其实代表了同一个来源,就是Syzbot robot,而且说明它非常善于查出kernel里面存在多年的bug。Fengguang Wu的kbuild test robot也是同样的情况,不过影响略小一点。

对一个kernel版本进行开发和改善稳定性,并不是在Linus Torvalds发布的那一天就突然停止了。其实真正的工作才刚刚开始。自从有软件开发这个行当以来,人们就一直在让开发者去fix bug而不是光产生新bug,这个斗争一直没有停过。好消息是过去几年里,开发社区在这方面做的越来越好了。目前哪怕是在新版本kernel发布之后大家的重心放到下一版本kernel的时候,开发、修复流程也仍然在快速进行。

全文完

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值