(Translated by https://www.hiragana.jp/)
Development statistics for the 6.10 kernel [LWN.net]
|
|
Subscribe / Log in / New account

Development statistics for the 6.10 kernel

By Jonathan Corbet
July 15, 2024
The 6.10 kernel was released on July 14 after a nine-week development cycle. This time around, 13,312 non-merge changesets were pulled into the mainline repository — the lowest changeset count since 5.17 in early 2022. Longstanding tradition says that it is time for LWN to gather some statistics on where the new code for 6.10 came from and how it got to the mainline; read on for the details.

As a reminder, much of the information that follows (and much that doesn't) can be had at any time from the LWN kernel source database, which is available to LWN subscribers.

A total of 1,918 developers contributed to 6.10; that is lower than recent releases but essentially equal to the 1,921 contributors to 6.5 in August of last year. Of those developers, 242 made their first kernel contribution in 6.10. The most active contributors to this release were:

Most active 6.10 developers
By changesets
Krzysztof Kozlowski 3572.7%
Kent Overstreet 2702.0%
Andy Shevchenko 2261.7%
Uwe Kleine-König 1761.3%
Darrick J. Wong 1601.2%
Jani Nikula 1331.0%
Matthew Wilcox1250.9%
Ville Syrjälä 1220.9%
Eric Dumazet 1200.9%
Ian Rogers 1020.8%
Hans de Goede 1010.8%
Dmitry Baryshkov 1010.8%
Christoph Hellwig 940.7%
Takashi Iwai 940.7%
Geert Uytterhoeven 900.7%
Arnd Bergmann 870.7%
Damien Le Moal 870.7%
Wolfram Sang 820.6%
Namhyung Kim 780.6%
Pierre-Louis Bossart 770.6%
By changed lines
Dmitry Baryshkov 6463610.0%
Darrick J. Wong 237813.7%
Philipp Hortmann 186872.9%
Bingbu Cao 143332.2%
Boris Brezillon 140902.2%
Wedson Almeida Filho 103351.6%
Kent Overstreet 91441.4%
David Howells 83471.3%
Bitterblue Smith 61170.9%
Hans de Goede 58210.9%
Namhyung Kim 57920.9%
Ian Rogers 55920.9%
Arnd Bergmann 54920.8%
Benjamin Tissoires 49240.8%
Michal Wajdeczko 48040.7%
Tushar Vyavahare 46470.7%
Shahab Vahedi 46290.7%
Fiona Klute 44850.7%
Akhil R 43160.7%
Jordan Rife 41350.6%

Krzysztof Kozlowski was the leading contributor of commits to the 6.10 kernel, producing over five changes for every day of this release cycle; this work was focused on refactoring throughout the driver subsystems and devicetree changes. Kent Overstreet's work was mostly focused on fixes for the bcachefs filesystem, but he also implemented much of the memory-allocation profiling subsystem. Andy Shevchenko contributed cleanups throughout the driver tree, Uwe Kleine-König continued the driver-refactoring work that has led to 1,883 changes since the 6.4 release, and Darrick Wong did a lot of work on the XFS filesystem, mostly focused on the in-progress online-repair functionality.

In the lines-changed column, Dmitry Baryshkov removed a number of header files that can be automatically generated at build time. Philipp Hortmann removed a couple of unloved drivers from the staging tree. Bingbu Cao added a number of Intel media drivers, and Boris Brezillon contributed the Panthor driver for Arm Mali GPUs.

The top testers and reviewers this time around were:

Test and review credits in 6.10
Tested-by
Daniel Wheeler 14111.7%
Kees Cook 463.8%
Pucha Himasekhar Reddy 433.6%
Hans Holmberg 282.3%
Dennis Maisenbacher 282.3%
Jarkko Sakkinen 252.1%
Mark Pearson 242.0%
Arnaldo Carvalho de Melo 221.8%
Philipp Hortmann 221.8%
Atish Patra 171.4%
Björn Töpel 161.3%
Sujai Buvaneswaran 151.2%
Pierre-Louis Bossart 141.2%
Ryan Roberts 141.2%
Reviewed-by
Christoph Hellwig 3033.4%
Simon Horman 2372.7%
Bard Liao 1651.9%
Andy Shevchenko 1491.7%
Krzysztof Kozlowski 1231.4%
Konrad Dybcio 1181.3%
David Sterba 1161.3%
AngeloGioacchino Del Regno 1051.2%
Dmitry Baryshkov 1041.2%
Jani Nikula 931.1%
Kees Cook 901.0%
Rob Herring 861.0%
Hans de Goede 851.0%
Andrew Lunn 851.0%

These lists do not change much from one release to the next; the developers who are able to find the time for this sort of work tend to be in it for the long haul.

A total of 203 companies (that we know of) supported work on the 6.10 kernel; the most active of those were:

Most active 6.10 employers
By changesets
Intel203115.3%
Google9807.4%
Red Hat9226.9%
(Unknown)8916.7%
Linaro8386.3%
(None)6905.2%
AMD6104.6%
Oracle4433.3%
Meta4243.2%
SUSE3272.5%
IBM3212.4%
Huawei Technologies3012.3%
Qualcomm2471.9%
Renesas Electronics2461.8%
Pengutronix2211.7%
(Consultant)2141.6%
NVIDIA2051.5%
Arm1601.2%
NXP Semiconductors1351.0%
Collabora1311.0%
By lines changed
Intel8824513.6%
Linaro8638213.3%
(Unknown)7183111.1%
Red Hat467547.2%
Google374115.8%
Oracle288464.4%
AMD257934.0%
Collabora219173.4%
(None)191512.9%
Meta165862.6%
Microsoft145542.2%
NVIDIA109901.7%
IBM103501.6%
ST Microelectronics81791.3%
Bootlin77461.2%
Qualcomm76361.2%
Realtek75091.2%
SUSE72681.1%
Arm70191.1%
NXP Semiconductors69101.1%

For the most part, this list looks as it usually does. It is worth noting, though, that Intel contributed more than twice as many changesets to 6.10 as any other company — over 15% of the total.

Tree flatness

[Tree plot] One of the suggested topics for the upcoming Maintainers Summit (to be held on September 17) was whether the merge tree is too flat. In other words, are there too many maintainers sending pull requests directly to Linus Torvalds rather than going through intermediate-level maintainers? Using the treeplot utility from gitdm, one can see what this tree looks like. An unreadable version appears to the right; clicking on it (preferably on a system with a large monitor) will shed more light.

One conclusion that can be drawn is that, while the tree does indeed seem flat, with a lot of trees feeding directly into the mainline (note that 63 such trees have been collapsed into one line in the diagram), there is also a fair amount of work going through more than one repository as well. There would appear to be a slow trend toward adding levels to the hierarchy — but it is indeed slow.

Another way to look at this is to create a histogram showing how many levels of repository each commit went through:

Trees transited by each commit
TreesCommits
0 26 26
1 8,242 8,242
2 4,817 4,817
3 227 227

The 26 commits that passed through zero trees before landing in the mainline were those committed directly by Torvalds. Nearly two-thirds of all commits went through a single tree before going upstream, but a substantial number also went through at least one other tree first. Whether that indicates an overly flat tree is hard to say.

One other thing worth noting: the trees shown in red in the plot are those that did not include a signed tag authenticating their creators. Torvalds has been increasingly insistent that pull requests should point to signed tags over the last few years, with the result that nearly every pull request he does now includes a signature. Most subsystem maintainers clearly do the same, but there still an occasional unsigned pull that finds its way upstream.

In any case, it seems evident from the above that, even if the process could always benefit from improvements, it is working reasonably well. The kernel community continues to absorb changes at a high rate and put out releases on a predictable schedule. As of this writing, there are just over 12,000 changesets poised to flow into the mainline from linux-next, so the 6.11 kernel (which will likely be released on September 15, putting the next merge window in the middle of several important conferences) will be busy as well.


to post comments

Direct to Torvalds

Posted Jul 16, 2024 2:19 UTC (Tue) by titaniumtown (subscriber, #163761) [Link]

Very interesting statistics on the number of patch sets not being merged into other trees without hitting the master branch. I've never considered this before, great addition! I hope change is sparked to spread out the reviewing work load and we can see that average tree # go up!


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