Some 5.6 kernel development statistics
As Linus Torvalds pointed out in the release announcement, the current coronavirus pandemic does not appear to have seriously affected kernel development — so far. One should not, though, lose track of the fact that the 5.6 merge window closed in early February, well before the impact of this disaster was broadly felt outside of China. Most of the work merged for 5.6 was done even earlier, of course. Given the delays involved in getting work into the mainline, the full effect may not be felt until the 5.8 cycle.
It goes without saying that we hope those effects are minimal, and that the people in our community (and beyond) come through this experience as well as possible.
Of the developers working on 5.6, 214 were first-time contributors. Many projects would be delighted to have that many new contributors in a nine-week period, but that is low for the kernel — the lowest since 3.11, which featured 203 first-time contributors and was released in September 2013. This dip does not appear to be part of a long-term trend:
It is possible that this drop is partly due to the current pandemic; a surprising number of first-time contributors show up late in the development cycle with bug fixes.
The most active developers contributing to 5.6 were:
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%
This time around, the developer with the most commits is Takashi Iwai, who did a bunch of cleanup and API-migration work in the sound subsystem. Chris Wilson worked exclusively on the i915 graphics driver, Sean Christopherson has, seemingly, been rewriting the KVM hypervisor from the ground up, Jérôme Pouiller worked on the wfx wireless network interface driver in the staging tree, and Eric Biggers contributed a lot of work to the filesystem and crypto subsystems.
Kalle Valo made it to the top of the "lines changed" column with just five commits; the one adding the ath11k network driver was large. Arnd Bergmann, among many other things, removed a set of obsolete ISDN drivers and more-or-less completed the task of readying the kernel for the year 2038. Jason Donenfeld added the WireGuard VPN subsystem, Ben Skeggs worked extensively on the nouveau graphics driver, and Greg Kroah-Hartman deleted the unloved octeon driver from the staging tree.
The credits for testing and reviewing patches look like this:
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%
Of the patches going into 5.6, 669 (5.3% of the total) carried Tested-by tags, a decline from 5.5. Reviewed-by tags, instead, appeared in 4,183 patches, 33% of the total.
There were 877 patches added for 5.6 that included Reported-by tags to credit the reporting of a bug; the most active reporters were:
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%
We continue to see an increasing number of bug reports coming from automated testing systems; such reports now make up just over a third of the total.
The work on the 5.6 kernel was supported by 207 employers that we were able to identify, a significant decline from 5.5 (which had support from 231 employers). The most active employers were:
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%
We have reached the point where a full one-eighth of the patches coming into the kernel originate from within Intel. For years, Red Hat was the top contributor of changesets, but its position has been slowly falling for some time; this may be the first time that SUSE contributed more patches during a development cycle. Otherwise, these numbers look about the same as they usually do.
If one looks at Signed-off-by tags applied to patches that were written by somebody else, the picture changes a bit:
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%
When a developer adds a Signed-off-by tag to somebody else's patch, it (usually) means that said developer is routing that patch toward the mainline, usually by applying it to a subsystem repository. These signoffs thus give some visibility into who the kernel's gatekeepers are. David Miller, the maintainer of the networking subsystem, has kept that top position for years. The presence of other developers indicate that there continues to be a lot of activity in the AMD graphics, device support, and KVM subsystems, among others.
In the right-hand column we see that, while the percentage of patches coming from Red Hat has dropped over the years, over 20% of the patches getting into the mainline still pass through the hands of Red Hat developers.
The first time that LWN looked at signoff statistics was for the 2.6.22 development cycle in 2007. At that time, the top gatekeepers were Andrew Morton and Linus Torvalds, neither of whom handles vast numbers of patches now; the third place was held by David Miller. Four of the top-ten maintainers in 2007 are still in the top ten now. Similarly, five of the top-ten companies were in the top ten 13 years ago too (if one deems the 2013 Novell to be the same as the 2020 SUSE).
All told, the picture that emerges indicates that it's mostly business as
usual in the kernel community. The flow of patches continues at a steady
rate and the number of developers remains large. The makeup of the
community changes — slowly — but the process of cranking out kernels
continues uninterrupted.
Index entries for this article | |
---|---|
Kernel | Releases/5.6 |
Posted Mar 30, 2020 22:11 UTC (Mon)
by zx2c4 (subscriber, #82519)
[Link]
I believe most of the code I added was actually in accelerated crypto primitives and test vectors for the crypto subsystem, rather than WireGuard itself, which is much smaller than that large number.
Some 5.6 kernel development statistics