|
|
Subscribe / Log in / New account

Statistics from the 5.10 kernel development cycle

By Jonathan Corbet
December 14, 2020
Linus Torvalds released the 5.10 kernel on December 13 at the end of a typical nine-week development cycle. At that point, 16,174 non-merge changesets had been pulled into the mainline; that makes 5.10 a larger cycle than 5.9, but it falls just short of the record set by 5.8, which ended with 16,308 changesets. For the most part 5.10 is just another routine kernel release, but there are a couple of interesting things to be seen in the overall statistics.

A total of 1,971 developers contributed to 5.10 — again, just short of the record set by 5.8. Of those developers, 252 (just under 13%) made their first contribution in 5.10; that is the lowest number seen since 5.6. The most active 5.10 developers were:

Most active 5.10 developers
By changesets
Krzysztof Kozlowski4913.0%
Mauro Carvalho Chehab3782.3%
Christoph Hellwig2651.6%
Pierre-Louis Bossart1160.7%
Lee Jones1160.7%
Randy Dunlap1150.7%
Allen Pais1120.7%
Jonathan Cameron1070.7%
Maxime Ripard1030.6%
Dave Airlie980.6%
Lad Prabhakar970.6%
Andy Shevchenko870.5%
Chris Wilson850.5%
Evan Quan840.5%
Colin Ian King840.5%
Andrii Nakryiko820.5%
Vladimir Oltean800.5%
Alex Deucher790.5%
Qinglang Miao770.5%
Kees Cook700.4%
By changed lines
Sudeep Dutt267793.5%
Mauro Carvalho Chehab227412.9%
Corentin Labbe190912.5%
Fabio Estevam167572.2%
Christoph Hellwig142861.9%
Cezary Rojewski141061.8%
Chandan Uddaraju93571.2%
Daniel W. S. Almeida80121.0%
Mike Travis78731.0%
Andrii Nakryiko74551.0%
Oded Gabbay69890.9%
Hans Verkuil68390.9%
Larry Finger67580.9%
Vadym Kochan63820.8%
Krzysztof Kozlowski63710.8%
Mauro Rossi62270.8%
Jonathan Marek61060.8%
Marc Kleine-Budde60490.8%
Jin Yao58110.8%
Jiaxin Yu54640.7%

The author contributing the most changesets to 5.10 was Krzysztof Kozlowski, who made cleanups and small improvements all over the Arm and driver subsystems — at a rate of almost eight per day, seven days per week. Mauro Carvalho Chehab did a lot of work across the media, documentation, and staging subsystems. Christoph Hellwig's work included significant rewrites across the filesystem and block layers, along with the set_fs() removal. Pierre-Louis Bossart did a lot of work in the sound subsystem, and Lee Jones contributed a large number of warning fixes.

Sudeep Dutt contributed a single patch to 5.10, but that patch removed the drivers for Intel "many integrated core" (MIC) devices, deleting enough code to land at the top of the "lines changed" column. Corentin Labbe resurrected the Zoran MJPEG capture driver in the staging tree, and Fabio Estevam removed a bunch of old Arm board files.

The busiest testers and bug reporters this time were:

Test and report credits in 5.10
Tested-by
Hoegeun Kwon867.3%
Chanwoo Choi796.7%
Stefan Wahren796.7%
Thierry Reding332.8%
Aaron Brown312.6%
Arnaldo Carvalho de Melo242.0%
Nikolay Borisov231.9%
Nick Desaulniers211.8%
Yoshihiro Shimoda161.4%
Jonas Karlman161.4%
Douglas Gilbert161.4%
Marek Szyprowski151.3%
Srinivas Kandagatla131.1%
Sedat Dilek131.1%
Daniel Thompson121.0%
Reported-by
kernel test robot19115.1%
Hulk Robot19015.0%
Syzbot977.7%
Dan Carpenter403.2%
Stephen Rothwell231.8%
Randy Dunlap201.6%
Qian Cai171.3%
Naresh Kamboju141.1%
Julien Grall80.6%
Alexei Starovoitov70.6%
Rob Herring70.6%
Marek Szyprowski70.6%
Colin Ian King70.6%
Geert Uytterhoeven60.5%
Lars-Peter Clausen60.5%

The top three testers show an interesting pattern: their Tested-by tags all appear together on the same patches, all targeting the vc4 DRM driver. On the report side, we see that nearly 38% of all credited bug reports come from automated testing systems. Note that, since these tags appear in patches, they indicate reports that actually resulted in some sort of fix; that is a lot of bugs that won't be around to affect users later on.

A total of 228 companies (that we know of) supported work on the 5.10 kernel, an increase relative to recent past releases. The companies supporting the most work were:

Most active 5.10 employers
By changesets
Huawei Technologies14348.9%
Intel12978.0%
(Unknown)10756.6%
(None)9545.9%
Red Hat9155.7%
Google8485.2%
AMD6984.3%
Linaro6704.1%
Samsung5703.5%
IBM5213.2%
NXP Semiconductors4392.7%
Facebook4222.6%
Oracle4142.6%
SUSE4102.5%
(Consultant)4042.5%
Code Aurora Forum3131.9%
Arm3071.9%
Renesas Electronics2831.7%
NVIDIA2621.6%
Texas Instruments2181.3%
By lines changed
Intel9697612.6%
Huawei Technologies410495.3%
(Unknown)409485.3%
Google391605.1%
NXP Semiconductors358984.7%
(None)309984.0%
Red Hat304673.9%
Code Aurora Forum296153.8%
Linaro293843.8%
Facebook274793.6%
BayLibre241593.1%
AMD233433.0%
(Consultant)199052.6%
IBM183122.4%
MediaTek158932.1%
Arm133901.7%
Texas Instruments118141.5%
SUSE110631.4%
Oracle105421.4%
NVIDIA104811.4%

The presence of Huawei at the top of the "by changesets" column may be a bit of a surprise, though something similar happened in 5.8. As was the case then, Chehab's work obviously helped to drive that number, but it was also the result of 94 other developers working for Huawei who contributed at least one patch to 5.10. Huawei has built up a significant kernel-development operation. Beyond that, these results are mostly as one would expect.

Another difference in this cycle can be seen by looking at the non-author signoffs in the merged commits. Applying a Signed-off-by tag to a patch that one did not write is usually done by maintainers who are applying patches to be sent upstream; looking at these signoffs thus give an indication of who the gatekeepers to the kernel are. For 5.10, the results look like this:

Non-author signoffs in 5.10
Developers
David S. Miller10747.0%
Greg Kroah-Hartman7805.1%
Mark Brown7074.6%
Alex Deucher6094.0%
Jakub Kicinski4863.2%
Mauro Carvalho Chehab4853.1%
Kalle Valo4532.9%
Andrew Morton4232.7%
Jens Axboe3292.1%
Alexei Starovoitov3172.1%
Hans Verkuil3152.0%
Martin K. Petersen2891.9%
Michael Ellerman2451.6%
Vinod Koul2391.6%
Shawn Guo1971.3%
Paolo Bonzini1961.3%
Borislav Petkov1871.2%
David Sterba1761.1%
Herbert Xu1751.1%
Will Deacon1721.1%
Employers
Red Hat219814.3%
Linaro158810.3%
Facebook12147.9%
Intel11437.4%
Google10827.0%
Linux Foundation8635.6%
Huawei Technologies7885.1%
SUSE7104.6%
AMD6424.2%
Code Aurora Forum5083.3%
IBM4182.7%
Oracle4072.6%
(None)3922.5%
NVIDIA3642.4%
Cisco3152.0%
Arm2961.9%
Qualcomm2391.6%
(Consultant)2211.4%
Texas Instruments1871.2%
Samsung1380.9%

Seeing David Miller, the maintainer of the networking subsystem, at the top of this list is traditional, and he occupies this position for 5.10 as well. Miller, unfortunately, abruptly dropped out of the kernel community just after the 5.9 release due to a health issue, so this table reflects his work done prior to the 5.10 merge window. After that, Jakub Kicinski took over networking maintenance, which explains his appearance on the list (and Facebook's relatively high position). This change will be more strongly felt in the 5.11 release; Kicinski currently has signed off nearly 900 patches in linux-next.

Happily, Miller is recovering and has started applying networking patches again. Meanwhile, this episode turned into an unplanned test of the community's response when one of its most active maintainers is no longer able to do that work. That response appears to have gone well, with the flow of networking patches into the mainline and linux-next continuing at a strong pace. There appears to have been little disruption in the networking community overall.

It would be nice to believe that all important kernel subsystems are as well prepared for an abrupt maintainer change, but that is almost certainly not the case. So the kernel community might not pass the next test in such good form. That said, the numbers this time around show that kernel development is still going strong; kernels are released on a predictable schedule, participation across the community is high, and there are still numerous new developers making their debut in each release. 2020 was a difficult year, but the kernel community has gotten through it with, it seems, relatively little trouble.

Index entries for this article
KernelReleases/5.10


to post comments

Statistics from the 5.10 kernel development cycle

Posted Dec 15, 2020 0:11 UTC (Tue) by espeer (guest, #39062) [Link]

Kudos to Kuba! (has a nice ring to it)

Statistics from the 5.10 kernel development cycle

Posted Dec 17, 2020 20:42 UTC (Thu) by shapr (subscriber, #9077) [Link] (2 responses)

Is there any planning in progress for handling abrupt maintainer changes?
Perhaps having two primary maintainers for each piece?

Statistics from the 5.10 kernel development cycle

Posted Dec 17, 2020 20:58 UTC (Thu) by pebolle (guest, #35204) [Link] (1 responses)

I'm far from convinced this is a serious issue.

If, for whatever reason, a maintainer disappears from an important subsystem a replacement is bound to pop up. For unimportant subsystems this may not be the case but the damage will be limited - it being an unimportant subsystem.

But perhaps there are examples that counter my view.

Statistics from the 5.10 kernel development cycle

Posted Dec 18, 2020 1:09 UTC (Fri) by Wol (subscriber, #4433) [Link]

I think if it's an important subsystem there will be plenty of people who can step up.

Raid, for example, is on its third maintainer in four years. Both transitions have been with the minimum of fuss, although you always suffer to some extent from the fact that knowledge/experience gets lost in the hand-over - unortunately that's unavoidable.

Cheers,
Wol

Statistics from the 5.10 kernel development cycle

Posted Jan 20, 2021 14:40 UTC (Wed) by Shabbyx (guest, #104730) [Link] (5 responses)

Suggestion: how about having the same stats, but for non-driver work too? Like number of changes is increasing, but is it because more and more drivers are added, or the core is actually getting more changes? Also interesting to know for example which companies are supporting core kernel work, or what percentage is volunteer work etc.

Statistics from the 5.10 kernel development cycle

Posted Jan 20, 2021 14:44 UTC (Wed) by geert (subscriber, #98403) [Link] (4 responses)

The top 17 companies are listed.
The percentage of volunteer work should be in between 5.9% ("None") and 5.9% + 6.6% ("Unknown") = 12.5%.

Statistics from the 5.10 kernel development cycle

Posted Jan 21, 2021 6:46 UTC (Thu) by Shabbyx (guest, #104730) [Link] (3 responses)

There's a misunderstanding. The stats here are for all code that ends up in the linux repository. A lot of that code is driver work, which is IMO not really "linux". My comment was asking whether we can get the same stats for the core of linux, i.e. the kernel proper.

Statistics from the 5.10 kernel development cycle

Posted Jan 21, 2021 9:38 UTC (Thu) by geert (subscriber, #98403) [Link] (1 responses)

I assume you can generate the statistics yourself, restricting commits to those touching the code base you consider the core kernel.
IIRC, Jon and Greg published the scripts that were used in e.g. previous Linux Foundation reports.
I had a quick look, but couldn't find them:
- https://github.com/gregkh/kernel-history seems to generate general statistics (not including author/employer/...), though,
- https://github.com/gregkh/kernel-development contains the stats, but has no link to the scripts.

Statistics from the 5.10 kernel development cycle

Posted Jan 21, 2021 9:45 UTC (Thu) by geert (subscriber, #98403) [Link]

gitdm (thanks GregKH!), see https://lwn.net/Articles/290957/

Statistics from the 5.10 kernel development cycle

Posted Jan 21, 2021 14:47 UTC (Thu) by corbet (editor, #1) [Link]

Gitdm can restrict the analysis to subtrees; I've done that in the past. You do get a different picture when looking at core development; some prolific companies choose not to put their effort there. I'll maybe do this again for 5.11 in a few weeks.

Meanwhile, though, I don't really think it's fair to say that drivers are not "Linux". We need it all to have a working kernel, and drivers can be highly complex pieces of software in their own right.


Copyright © 2020, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds