关注了就能看到更多这么棒的文章哦~
By Jonathan Corbet
March 30, 2020
原文来自:https://lwn.net/Articles/816162/
当5.6内核在3月29日发布时,5.6内核已经接受了来自1,712个开发者的12,665个patch set,这个开发周期相当典型。按照LWN的传统,下面我们来看看这些patch set的来源,以及是谁支持了这些patch set的工作。这次发布周期可能看起来很普通,但仍有一些差异值得注意。
正如Linus Torvalds在发布公告中指出的那样,目前的冠状病毒大流行似乎并没有严重影响到内核开发——到目前为止。不过,人们不应该忘记,5.6合并窗口在2月初关闭的,当时这场灾难的影响还没有在中国以外的地方引起重视。当然,合入5.6的大部分工作都是在更早的时候完成的。考虑到延迟进入主线的工作,可能要到5.8周期才能感受到全部影响。
不言而喻,我们希望这些影响是最小的,希望我们社区的人(以及更多的人)能够尽可能地顺利度过这次疫情。
在5.6工作的开发者中,214人是第一次提出贡献。虽然对于一般的项目来说,会很高兴看到在九周内有这么多新的贡献者,但这对于Linux kernel来说是很低的——这是3.11以来的最低水平,它在2013年9月发布的时候有203位首次贡献者。这种下滑似乎并不符合一直一来的趋势。
这种下降有可能部分原因是由于目前的疫情。而在开发周期中,有不少首次贡献者在开发周期的后期进行了bug修复,数量之多令人惊讶。
为5.6贡献最活跃的开发者是:
Most active 5.6 developers
By changesets Takashi Iwai 406 3.2% Chris Wilson 306 2.4% Sean Christopherson 143 1.1% Jérôme Pouiller 125 1.0% Eric Biggers 122 1.0% Arnd Bergmann 114 0.9% Zheng Bin 110 0.9% Geert Uytterhoeven 103 0.8% Tony Lindgren 103 0.8% Masahiro Yamada 94 0.7% Colin Ian King 92 0.7% Ben Skeggs 91 0.7% Ville Syrjälä 90 0.7% Andy Shevchenko 88 0.7% Russell King 88 0.7% Alex Deucher 86 0.7% Krzysztof Kozlowski 82 0.6% Thomas Zimmermann 80 0.6% Jens Axboe 77 0.6% Jani Nikula 74 0.6%
By changed lines Kalle Valo 48483 7.2% Arnd Bergmann 29415 4.3% Jason A. Donenfeld 18664 2.8% Ben Skeggs 13471 2.0% Greg Kroah-Hartman 11931 1.8% Chris Wilson 10615 1.6% Srinivas Kandagatla 8739 1.3% Alex Maftei 8581 1.3% Maxime Ripard 7521 1.1% Peter Ujfalusi 6970 1.0% Tony Lindgren 6320 0.9% Helen Koike 5789 0.9% Takashi Iwai 5622 0.8% Shuming Fan 5604 0.8% Michal Kalderon 5445 0.8% Sricharan R 5065 0.7% Andrii Nakryiko 4857 0.7% Roman Li 4852 0.7% Thierry Reding 4845 0.7% Sunil Goutham 4762 0.7%
这次提交最多的开发者是Takashi Iwai,他在声音子系统中做了大量的清理和API迁移工作。Chris Wilson专注于i915图形驱动,Sean Christopherson似乎从头开始重写了KVM管理程序,Jérôme Pouiller在staging tree中做了wfx无线网络接口驱动,Eric Biggers在文件系统和crypto子系统中贡献了很多工作。
Kalle Valo只用了5个提交就排在了"更改行数榜 "的最前面,因为增加ATH11k网络驱动的那一个提交量很大。Arnd Bergmann做了不少工作,其中删除了一组过时的ISDN驱动,并且基本完成了2038年的准备工作。Jason Donenfeld添加了WireGuard VPN子系统,Ben Skeggs在新版图形驱动上做了大量工作,Greg Kroah-Hartman从staging tree中删除了大家不怎么喜欢的octeon驱动。
测试和review的排行榜是这样的:
Test and review credits in 5.6
Tested-by Keerthy 61 7.6% Andrew Bowers 47 5.9% Aaron Brown 36 4.5% Peter Ujfalusi 21 2.6% Tero Kristo 20 2.5% Stephan Gerhold 20 2.5% John Garry 20 2.5% Brian Masney 18 2.2% Alexei Starovoitov 17 2.1% Steven Rostedt 15 1.9% Arnaldo Carvalho de Melo 15 1.9%
Reviewed-by Rob Herring 140 2.8% Alex Deucher 99 2.0% David Sterba 88 1.8% Andrew Lunn 87 1.7% Florian Fainelli 83 1.7% Tvrtko Ursulin 82 1.6% Linus Walleij 78 1.6% Chris Wilson 78 1.6% Tony Cheng 74 1.5% Laurent Pinchart 70 1.4% Andy Shevchenko 69 1.4%
在合入5.6的这些patch中,有669个(总占比5.3%)包含Tested-by tag。这个数字比起5.5版本要少。而包含Reviewed-by tag的则有4183个patch,占33%。
5.6中有877个patch包含Reported-by tag来感谢报出bug的人,其中最活跃的人员为:
Reporting credits in 5.6 Hulk Robot 178 18.6% Syzbot 99 10.4% kernel test robot 58 6.1% Dan Carpenter 23 2.4% Randy Dunlap 20 2.1% Stephen Rothwell 15 1.6% Linus Torvalds 7 0.7% Marek Szyprowski 7 0.7% Christoph Paasch 6 0.6% Naresh Kamboju 6 0.6% Dmitry Osipenko 5 0.5% Ravi Bangoria 5 0.5% Michael Ellerman 5 0.5% Jann Horn 5 0.5% Erhard Furtner 5 0.5% Qian Cai 5 0.5%
我们看到有越来越多的bug是来自自动测试系统报出的,占总数的三分之一了。
5.6 kernel的贡献者中我们可以看出有207个公司,这个数字比起5.5的时候(231个)也更加低了。最活跃的公司为:
Most active 5.6 employers
By changesets Intel 1694 13.4% (Unknown) 904 7.1% AMD 781 6.2% (None) 778 6.1% SUSE 713 5.6% Red Hat 702 5.5% 558 4.4% Linaro 503 4.0% Huawei Technologies 483 3.8% 298 2.4% Mellanox 252 2.0% Renesas Electronics 247 2.0% IBM 232 1.8% Arm 231 1.8% Code Aurora Forum 222 1.8% (Consultant) 216 1.7% Texas Instruments 213 1.7% NXP Semiconductors 210 1.7% Oracle 147 1.2% Broadcom 143 1.1%
By lines changed Intel 78083 11.5% Code Aurora Forum 68538 10.1% Linaro 59492 8.8% AMD 44979 6.6% Red Hat 40553 6.0% (Unknown) 28591 4.2% (None) 27387 4.0% (Consultant) 23271 3.4% 20038 3.0% SUSE 19274 2.8% 17525 2.6% Texas Instruments 16561 2.4% Mellanox 14977 2.2% Linux Foundation 12289 1.8% Marvell 11678 1.7% Realtek 10968 1.6% Collabora 9491 1.4% NXP Semiconductors 8689 1.3% Solarflare Communications 8670 1.3% IBM 8586 1.3%
现在合入我们kernel的patch中已经有八分之一的是来自Intel的了。过去一直是Red Hat的贡献最多,不过它的位置近来一直在慢慢下降,这次可能是第一次被SUSE超越。其他的数字看起来跟往常差不多。
再来看看那些Signed-off-by tag,如果我们着重关注那些不是作者本人的signed-off,这个结果会有些变化:
Non-author signoffs in 5.6
Developers David S. Miller 1162 10.1% Alex Deucher 748 6.5% Greg Kroah-Hartman 653 5.7% Mark Brown 445 3.9% Paolo Bonzini 271 2.4% Kalle Valo 239 2.1% Herbert Xu 236 2.1% Andrew Morton 220 1.9% Mauro Carvalho Chehab 213 1.9% Alexei Starovoitov 188 1.6%
Employers Red Hat 2423 21.1% Linaro 1213 10.6% AMD 786 6.9% Intel 763 6.7% 746 6.5% Linux Foundation 701 6.1% 395 3.4% SUSE 390 3.4% (None) 351 3.1% Mellanox 296 2.6%
开发者如果对别人的patch加了自己的Signed-off-by tag,通常来说意味着这位开发者是在帮忙把patch推上mainline的过程中的一环,一般是打在某个子系统的git仓库的时候。这些签名就能让我们看到kernel patch的把关者们都是谁。David Miller是网络子系统的maintainer,已经持续贡献许多年了。名单上其他的开发者表明现在AMD显卡,设备驱动,KVM子系统等领域都非常活跃。
在右边这几列我们可以看到虽然Red Hat近来贡献的patch数量在逐年减少,但是进入mainline的patch中有超过20%仍然是经过Red Hat开发者之手的。
之前LWN第一次分析signoff的数据,是在2007年针对2.6.22开发周期的。当时榜上排名第一的是Andrew Morton和Linus Torvalds,他们两位现在参与处理的patch数量都不算多了。第三名就是David Miller。2007年的top 10 maintainers中仍有4位保持在top 10里。同样,有5家公司在13年之后也仍然保持在top 10之列(如果我们可以认为2013的Novell就是2020年的SUSE的话)。
综上所述,从目前的情况来看,内核社区的情况基本都还算正常。patch的进展继续保持着稳定的速度,开发人员的数量仍然很多。社区的构成慢慢地在发生变化,但内核开发的过程仍然没有中断。
全文完
LWN文章遵循CC BY-SA 4.0许可协议。
欢迎分享、转载及基于现有协议再创作~
长按下面二维码关注,关注LWN深度文章以及开源社区的各种新近言论~