|
|
Subscribe / Log in / New account

Some 5.14 development statistics

By Jonathan Corbet
August 30, 2021
The 5.14 kernel was released on August 29 after a nine-week development period. This cycle was not as active as its predecessor, which set a record for the number of developers involved, but there was still a lot going on and a number of long-awaited features were merged. Now that the release is out, the time has come for our traditional look at where the code in 5.14 came from and how it got there.

To create 5.14, the kernel community applied 14,735 non-merge changesets from 1,912 developers; 261 of those developers made their first kernel contribution during this cycle. There were 861,000 lines of code added to the kernel and 321,000 lines removed, for a net growth of 540,000 lines.

The most active 5.14 developers were:

Most active 5.14 developers
By changesets
Lee Jones 2151.5%
Andy Shevchenko 1961.3%
Mauro Carvalho Chehab 1911.3%
Peng Li 1671.1%
Yang Yingliang 1531.0%
Zhen Lei 1451.0%
Christoph Hellwig 1360.9%
Colin Ian King 1360.9%
Vladimir Oltean 1340.9%
Fabio Aiuto 1320.9%
Takashi Iwai 1310.9%
Sean Christopherson 1220.8%
Jiri Slaby 1130.8%
Jonathan Cameron 1080.7%
Christophe Leroy 1070.7%
Geert Uytterhoeven 1020.7%
Takashi Sakamoto 960.7%
Krzysztof Kozlowski 940.6%
Gustavo A. R. Silva 930.6%
Thomas Gleixner 830.6%
By changed lines
Aaron Liu 19337918.9%
Aurabindo Jayamohanan Pillai 481844.7%
Christoph Hellwig 466674.6%
Mustafa Ismail 320143.1%
James Smart 309073.0%
Shiraz Saleem 291852.8%
Nicholas Kazlauskas 196201.9%
Kashyap Desai 128911.3%
Steen Hegelund 125841.2%
Masahiro Yamada 105171.0%
Jin Yao 101331.0%
M Chetan Kumar 89470.9%
Konrad Dybcio 88530.9%
Srinivas Kandagatla 82660.8%
Fabio Aiuto 69760.7%
Vladimir Oltean 64440.6%
Thierry Reding 63140.6%
Takashi Iwai 58580.6%
Mark Rutland 56120.5%
Greg Kroah-Hartman 54850.5%

Lee Jones seems to have staked out a permanent position as the lead contributor of changesets; he continues to focus on cleanups and warning fixes all over the kernel tree. Andy Shevchenko made a lot of fixes throughout the driver subsystem. Mauro Carvalho Chehab worked mostly in the media subsystem with a bunch of documentation fixes on the side, Peng Li contributed a set of style fixes to various network drivers, and Yang Yingliang fixed a lot of warnings in various drivers.

In the "changed lines" column we see Aaron Liu and Aurabindo Jayamohanan Pillai on top with the inevitable set of amdgpu header files. Christoph Hellwig continues to do extensive refactoring work, mostly in the block subsystem. Mustafa Ismail contributed one patch series adding the Intel Ethernet protocol driver for RDMA, and James Smart added a new SCSI driver.

Work in 5.14 was supported by at least 231 employers, the most active of which where:

Most active 5.14 employers
By changesets
Huawei Technologies173111.7%
Intel13319.0%
(Unknown)10036.8%
AMD8796.0%
Red Hat8545.8%
Google7565.1%
(None)7445.0%
Linaro6544.4%
SUSE5033.4%
IBM4453.0%
NVIDIA3192.2%
Oracle2902.0%
Canonical2781.9%
NXP Semiconductors2761.9%
Facebook2741.9%
Arm2551.7%
(Consultant)2291.6%
Renesas Electronics2031.4%
Linux Foundation1701.2%
Pengutronix1511.0%
By lines changed
AMD29343928.6%
Intel13556413.2%
(Consultant)509985.0%
Broadcom477424.7%
Linaro336523.3%
Red Hat309783.0%
Huawei Technologies297042.9%
(Unknown)296312.9%
Google293872.9%
NVIDIA284152.8%
(None)231542.3%
IBM225412.2%
SUSE198871.9%
Marvell172941.7%
Microchip Technology148521.4%
NXP Semiconductors122001.2%
Arm118311.2%
SoMainline105991.0%
Socionext Inc.105261.0%
Code Aurora Forum100501.0%

Huawei has found its way to the top of the list of changeset contributors again. Otherwise there is little new or surprising in this list.

Since the beginning, these reports have looked specifically at non-merge changesets, following the reasoning that those are the changes that contain the "real work". Merges, instead, are just the movement of patches from one Git branch or repository to another. That said, merges are a big part of a maintainer's work; each merge requires a look at the code involved and a judgment that the time has come to move that code along to the next stop on its path to the mainline kernel. So perhaps a look at merges, too, makes sense. The most active creators of merge commits in the 5.14 development cycle were:

Merge contributors in 5.14
Linus Torvalds38433.8%
David S. Miller 23020.2%
Olof Johansson 827.2%
Mark Brown 544.8%
Dave Airlie 524.6%
Greg Kroah-Hartman 353.1%
Rafael J. Wysocki 282.5%
Jakub Kicinski 282.5%
Bjorn Helgaas 252.2%
Will Deacon 242.1%
Arnd Bergmann 161.4%
Marc Zyngier 141.2%
Stephen Boyd 131.1%
Takashi Iwai 100.9%
Paolo Bonzini 80.7%
Jens Axboe 80.7%
Darrick J. Wong 80.7%
Thomas Gleixner 60.5%
Ingo Molnar 60.5%
Jiri Kosina 60.5%

Linus Torvalds tends to be notably absent from the statistics in these reports; after all, by his own admission, he does not write much code these days. The merge numbers show where part of his activity is, though; he handles hundreds of pull requests from subsystem maintainers, looks at each one (often more closely than one might expect), and does the merge if it seems like the right thing to do. In the process, he generates one-third of the merges in the kernel history.

There are, however, two ways that any given patch moves through the chain of subsystem maintainers. One is via pull requests, each of which will generate one of the merges seen in the above table. But, before that can happen, a maintainer somewhere must apply the patch to their Git repository to start the process. When that happens, the maintainer will apply a Signed-off-by tag to the patch. To see that aspect of maintainer activity, one needs to look at those tags when applied to patches written by somebody else; the result for 5.14 is:

Non-author signoffs in 5.14
David S. Miller 162511.0%
Greg Kroah-Hartman 11187.5%
Alex Deucher 8675.8%
Mark Brown 5413.6%
Andrew Morton4893.3%
Martin K. Petersen 3322.2%
Paolo Bonzini 3242.2%
Jens Axboe 3242.2%
Mauro Carvalho Chehab 2841.9%
Michael Ellerman 2731.8%
Takashi Iwai 2161.5%
Jason Gunthorpe 2131.4%
Hans Verkuil 2091.4%
Guangbin Huang 1801.2%
Will Deacon 1761.2%
Bjorn Andersson 1701.1%
Arnaldo Carvalho de Melo 1691.1%
Jakub Kicinski 1541.0%
Jonathan Cameron 1481.0%
Herbert Xu 1441.0%

Here, we see the maintainers who tend to apply patches directly rather than acting on pull requests; there are some names that appear on both but, in the end, this is a different list. The fact that David Miller appears at the top of both lists just confirms that he gets more done than just about anybody else — it is more than good to seem him apparently running at full capacity again. It also reflects a style of work that involves applying patches to topic branches, then merging them into the local trunk to send upstream; each patch series applied generates a set of non-author signoffs and a merge commit. Other maintainers apply patches directly to upstream-bound branches and do not generate these merges.

Either way, the maintainers who shepherd patches through the system are performing a crucial function within the kernel development process. Without this work, all of those developers cranking out patches would have no place to send them. Maintainership is hard and often unrewarding work; we all owe them some gratitude for keeping this whole development process going.

All told, the kernel development community appears to be continuing to operate smoothly at its usual fast pace. As of this writing, the 5.15 development cycle is already underway with large amounts of work queued to be merged. We will see the above story repeat, with variations of course, over the next nine or ten weeks.

Index entries for this article
KernelReleases/5.14


to post comments

Some 5.14 development statistics

Posted Aug 31, 2021 20:02 UTC (Tue) by ndesaulniers (subscriber, #110768) [Link] (9 responses)

I miss the stats on reviewed-by and tested-by tags. Those are meaningful ways of contributing to the kernel that aren't necessarily writing code. And given the rate of change of the codebase, these contributions are meaningful and welcome.

Review and test tags

Posted Aug 31, 2021 20:23 UTC (Tue) by corbet (editor, #1) [Link] (8 responses)

I can certainly put them back; I'll try to post them as a comment here, but that will require waiting until a blessed future moment when my office isn't overrun by window-replacement contractors.

In general I've kind of lost my enthusiasm for those stats, though. I'm not convinced that they give anything close to an accurate picture of the work that is going on in the community.

Review and test tags

Posted Aug 31, 2021 21:03 UTC (Tue) by willy (subscriber, #9762) [Link]

I don't think they're even close to accurate or meaningful, but there's a good endorphin hit for the people who contribute them, and that encourages more of them, which we do want.

Review and test tags

Posted Sep 1, 2021 6:26 UTC (Wed) by pbonzini (subscriber, #60935) [Link]

What about R-b and T-b stats by subsystem? I am especially curious of how many reviews come from designated reviewers and how many are from "bystanders".

Review and test tags

Posted Sep 1, 2021 18:13 UTC (Wed) by edeloget (subscriber, #88392) [Link]

> ... when my office isn't overrun by window-replacement contractors.

They're installing veluxes ?

Review and test tags

Posted Sep 1, 2021 18:57 UTC (Wed) by corbet (editor, #1) [Link] (3 responses)

As promised, here are the missing stats.

Developers with the most reviews (total 6408)
Rob Herring 1722.7%
Hannes Reinecke 1211.9%
Andy Shevchenko 1101.7%
Felix Kuehling 1041.6%
Christian König 991.5%
Christoph Hellwig 941.5%
Andrew Lunn 921.4%
Darrick J. Wong 891.4%
Hans de Goede 791.2%
Linus Walleij 791.2%
Alex Deucher 771.2%
Guenter Roeck 741.2%
Bjorn Andersson 681.1%
Himanshu Madhani 671.0%
Huang Rui 611.0%
Hawking Zhang 600.9%
Dan Carpenter 590.9%
Lijo Lazar 590.9%
Oded Gabbay 580.9%
Chaitanya Kulkarni 550.9%

Developers with the most test credits (total 956)
Daniel Wheeler 15416.1%
Frieder Schrempf 414.3%
Tony Brelinski 394.1%
Vincent Guittot 232.4%
Dvora Fuxbrumer 222.3%
Anand Jain 212.2%
Hongyu Ning 202.1%
Ritesh Harjani 192.0%
Don Hiatt 192.0%
Marc Zyngier 141.5%
Benjamin Li 121.3%
Jernej Skrabec 101.0%
Dave Switzer 101.0%
Daniel Almeida 101.0%
James Clark 90.9%
Kris Pan 90.9%
Guenter Roeck 80.8%
Arnaldo Carvalho de Melo 80.8%
Sachin Sant 70.7%

Developers with the most report credits (total 1216)
kernel test robot 23319.2%
Hulk Robot 21217.4%
Abaci 887.2%
Syzbot604.9%
Dan Carpenter 564.6%
Stephen Rothwell 221.8%
Pierre-Louis Bossart 121.0%
Will Deacon 110.9%
Guenter Roeck 100.8%
Nathan Chancellor 100.8%
Sachin Sant 80.7%
Colin Ian King 70.6%
Alexey Kardashevskiy 70.6%
Marek Szyprowski 60.5%
coverity-bot 60.5%
Mauro Carvalho Chehab 50.4%
Geert Uytterhoeven 40.3%
Tom Rix 40.3%
Randy Dunlap 40.3%
Matthew Wilcox 40.3%
Johannes Berg 40.3%
Naresh Kamboju 40.3%

Review and test tags

Posted Sep 2, 2021 2:55 UTC (Thu) by pabs (subscriber, #43278) [Link] (2 responses)

Hmm, there are a lot less people doing testing/reporting than doing reviews.

Review and test tags

Posted Sep 2, 2021 14:22 UTC (Thu) by corbet (editor, #1) [Link] (1 responses)

Either that, or there are a lot less Tested-by and Reported-by credits being given; as noted before, I don't think these numbers reflect the actual level of activity very well.

Review and test tags

Posted Sep 6, 2021 8:37 UTC (Mon) by geert (subscriber, #98403) [Link]

Indeed. Examples of typical activities leading to missing credits:
1. Reviewed-by:
- Pointing out issues, leading to v${N+1},
- Taking a patch through your tree, adding a Signed-of-by: instead of a Reviewed-by.
2. Tested-by:
- Pointing out issues, leading to v${N+1},
3. Reported-by:
- Fixing an issue you detected yourself.
Only the last one can be extracted from git, by looking at Fixes: tags.
The rest could be extracted from lore though, but would involve much more work.

Review and test tags

Posted Sep 6, 2021 17:34 UTC (Mon) by kdave (subscriber, #44472) [Link]

I'm not sure that accuracy is the point of all those stats anyway, for example it's easy to be among top 10 with Signed-off just by sending typo fixes or trivial code changes. That's going for quantity, while reviewed-by is tracking how many people care about quality. Stating the obvious, reviews are always on somebody else's code. That's similar to the non-author signed-off by, that's the maintainer's default job, but there's no mandate to do reviews. It's voluntary and partly taking responsibility for the quality.

"Not enough reviews" used to be a common topic on conferences, nobody has a universally working recipe how to get more reviewers. Pushing people to do that does not work, that would hardly improve quality.

Keeping the stats at least on the release overview page makes it a bit more visible as a thing that the community cares about. You can imagine some poor soul not sending a single patch but reviewing everything, thus making sure the end result is ok, yet this is somehow "forgotten" to be mentioned.


Copyright © 2021, 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