|
|
Log in / Subscribe / Register

Development statistics for the 6.1 kernel (and beyond)

We're bad at marketing

We can admit it, marketing is not our strong suit. Our strength is writing the kind of articles that developers, administrators, and free-software supporters depend on to know what is going on in the Linux world. Please subscribe today to help us keep doing that, and so we don’t have to get good at marketing.

By Jonathan Corbet
December 12, 2022
The 6.1 kernel was released on December 11; by the time of this release, 13,942 non-merge changesets had been pulled into the mainline, growing the kernel by 412,000 lines of code. This is thus not the busiest development cycle ever, but neither is it the slowest, and those changesets contained a number of fundamental changes. This release will also be the long-term-support kernel for 2022. Read on for a look at where the work in 6.1 came from.

The work in 6.1 was contributed by 2,043 developers, of whom 303 made their first contribution to the kernel in this release. The most active 6.1 developers were:

Most active 6.1 developers
By changesets
Krzysztof Kozlowski 2211.6%
Yang Yingliang 1691.2%
Andy Shevchenko 1451.0%
Johan Hovold 1451.0%
Zhengchao Shao 1421.0%
Maxime Ripard 1270.9%
Hans de Goede 1210.9%
Vladimir Oltean 920.7%
Jani Nikula 900.6%
Wolfram Sang 890.6%
Dmitry Baryshkov 870.6%
Christoph Hellwig 850.6%
Matthew Wilcox 840.6%
Gaosheng Cui 810.6%
Michael Straube 730.5%
Mark Brown 710.5%
Takashi Iwai 690.5%
Josef Bacik 680.5%
Pavel Begunkov 670.5%
Johannes Berg 670.5%
By changed lines
Liam Howlett 8677111.3%
Frank Min 567297.4%
Ping-Ke Shih 213522.8%
Ian Rogers 125881.6%
Stephen Hemminger 121541.6%
Miguel Ojeda 120191.6%
Zhengchao Shao 107711.4%
Zong-Zhe Yang 81011.1%
Uwe Kleine-König 67760.9%
Rodrigo Siqueira 64640.8%
Dmitry Baryshkov 60640.8%
Thomas Zimmermann 58310.8%
Alex Elder 57670.8%
Vladimir Oltean 57400.7%
Moudy Ho 54620.7%
Hui.Liu 54510.7%
Sreekanth Reddy 52630.7%
Konrad Dybcio 50380.7%
Geetha sowjanya 49160.6%
Ville Syrjälä 48990.6%

Krzysztof Kozlowski contributed more changesets to 6.1 than any other developer; this work consisted almost entirely of devicetree changes. Yang Yingliang contributed a lot of cleanup work in the device-driver subsystem. Andy Shevchenko made a wide-ranging set of improvements to various drivers, Johan Hovold contributed driver fixes and devicetree changes, and Zhengchao Shao was active in the networking subsystem.

The "changed lines" column looks rather different. Liam Howlett only contributed 12 59 patches to 6.1, but some of them were big: they added the maple tree data structure and the initial uses of it to the memory-management subsystem. Frank Min's three patches added the inevitable set of amdgpu register definitions. Ping-Ke Shih worked on the Realtek rtw89 wireless network adapter, Ian Rogers added a set of Intel event definitions to the perf subsystem, and Stephen Hemminger removed support for the DECnet protocol.

The top testers and reviewers this time around were:

Test and review credits in 6.1
Tested-by
Daniel Wheeler 20013.0%
Philipp Hortmann 1348.7%
Yu Zhao 704.6%
Gurucharan G 312.0%
Nathan Chancellor 291.9%
Marek Szyprowski 271.8%
Victor Nogueira 261.7%
Linux Kernel Functional Testing 261.7%
Naresh Kamboju 251.6%
Peter Zijlstra 221.4%
Kees Cook 211.4%
Shaopeng Tan 211.4%
Alexander Stein 211.4%
Xin Hao 211.4%
Cristian Marussi 211.4%
Reviewed-by
Andy Shevchenko 2293.0%
Krzysztof Kozlowski 2112.8%
Hans de Goede 1471.9%
David Sterba 1311.7%
AngeloGioacchino Del Regno 1311.7%
Rob Herring 1301.7%
Dmitry Baryshkov 1141.5%
Kees Cook 911.2%
Tariq Toukan 891.2%
Hawking Zhang 831.1%
Linus Walleij 670.9%
Laurent Pinchart 670.9%
Jan Kara 670.9%
Guenter Roeck 660.9%
Andrew Lunn 660.9%

Daniel Wheeler's presence at the top of the test-credit column is pretty much a given at this point; he continues to test patches from his colleagues at AMD at a rate of two or three patches every day of the development cycle. Philipp Hortmann, instead, tested patches to Realtek drivers in the staging tree. Yu Zhao's test credits appear in various memory-management changes, mostly related to the maple-tree work. On the review side, Andy Shevchenko reviewed patches for work all over the kernel tree, while Krzysztof Kozlowski focused mostly on device-tree changes and Hans de Goede reviewed a lot of platform-driver patches.

The most active employers this time around were:

Most active 6.1 employers
By changesets
Huawei Technologies12819.2%
Intel12549.0%
(Unknown)10977.9%
Google9176.6%
Linaro8376.0%
AMD7505.4%
Red Hat6724.8%
(None)5644.0%
Meta4143.0%
NVIDIA3892.8%
SUSE3332.4%
Oracle3182.3%
NXP Semiconductors2752.0%
IBM2601.9%
Renesas Electronics2241.6%
(Consultant)2081.5%
Microchip Technology Inc.1921.4%
Arm1871.3%
MediaTek1641.2%
Collabora1441.0%
By lines changed
Oracle9185212.0%
AMD8976111.7%
Google565047.4%
Intel440625.8%
(Unknown)337654.4%
Realtek332774.3%
Linaro312344.1%
Huawei Technologies278563.6%
NVIDIA254413.3%
Red Hat240733.1%
(None)214982.8%
Meta187832.5%
MediaTek175992.3%
NXP Semiconductors143421.9%
SUSE137491.8%
Brocade121541.6%
Microchip Technology Inc.116511.5%
Pengutronix102001.3%
Broadcom80541.1%
Marvell80361.0%

Huawei clearly had a busy development cycle, with 117 developers contributing changes throughout the kernel. Otherwise, these results show yet another fairly typical development cycle.

Looking back

The kernel's development cycle runs for nine or ten weeks before producing the next major release. There is, however, another cycle built on top of that. The last release from each calendar year receives long-term support, for a period of up to six years. These kernels are the ones that end up in most products and distributions over time; at this point, one could maybe say that the LTS cycle is the real kernel release cycle, with the other releases just being intermediate stabilization points.

Unless something extremely surprising happens, 6.1 will be the final kernel release for 2022, and thus will become the next LTS kernel. Given that 6.1 is the endpoint for the year-long LTS development cycle, then a look at the full cycle is also potentially of interest. The previous LTS kernel, 5.15, was released on October 31 2021. Since then, the kernel community has merged 86,660 patches from 5,034 developers — 1,741 of whom were first-time contributors — with a net growth of over 3.7 million lines of code. The most active developers over this entire period were:

Most active developers, 5.16 through 6.1
By changesets
Krzysztof Kozlowski 11341.3%
Christoph Hellwig 9181.1%
Matthew Wilcox 7160.8%
Sean Christopherson 6870.8%
Andy Shevchenko 6830.8%
Ville Syrjälä 6460.7%
Michael Straube 6310.7%
Jakub Kicinski 5830.7%
Geert Uytterhoeven 5600.6%
Martin Kaiser 5520.6%
Hans de Goede 5360.6%
Dmitry Baryshkov 5160.6%
Jani Nikula 4870.6%
Mark Brown 4710.5%
Vladimir Oltean 4660.5%
Christophe JAILLET 4540.5%
Johannes Berg 4530.5%
Eric Dumazet 4470.5%
Pavel Begunkov 4450.5%
Mauro Carvalho Chehab 4300.5%
By changed lines
Aurabindo Pillai 3416855.5%
Leo Li 2279543.7%
Hawking Zhang 2250573.7%
Qingqing Zhuo 1987353.2%
Huang Rui 1973053.2%
Roman Li 1559442.5%
Zhengjun Xing 1525252.5%
Oded Gabbay 1506702.4%
Ping-Ke Shih 1472142.4%
Ian Rogers 1453132.4%
Dmitry Baryshkov 927021.5%
Liam Howlett 868591.4%
Jakub Kicinski 813251.3%
Frank Min 567290.9%
Christoph Hellwig 464000.8%
Martin Habets 444380.7%
Zhan Liu 346470.6%
David Howells 314660.5%
Krzysztof Kozlowski 303800.5%
Nick Terrell 286110.5%

The most prolific developer during this time, once again Krzysztof Kozlowski, contributed over three patches for every single day of this extended development cycle — and still accounted for only 1.3% of the total. The top seven contributors in the "lines changed" column got there as the result of adding amdgpu register definitions; they account for well over 1 million lines of added code, which is a large portion of the total growth of the kernel.

That effect can be seen in the employer numbers as well:

Most active employers, 5.16 through 6.1
By changesets
Intel929510.7%
(Unknown)61347.1%
Google55976.5%
Red Hat49165.7%
AMD44745.2%
Linaro43735.0%
(None)40294.6%
Huawei Technologies36494.2%
Meta29043.4%
NVIDIA25633.0%
SUSE22692.6%
(Consultant)20182.3%
Oracle19442.2%
IBM17032.0%
Renesas Electronics14871.7%
Arm13911.6%
NXP Semiconductors12921.5%
MediaTek12121.4%
Alibaba9441.1%
Microchip Technology Inc.9431.1%
By lines changed
AMD165323726.8%
Intel74405912.1%
Google3453415.6%
Linaro3025814.9%
(Unknown)2124083.4%
Meta2090403.4%
Red Hat2026983.3%
Realtek1859323.0%
NVIDIA1794262.9%
(None)1659992.7%
Oracle1322102.1%
MediaTek1125611.8%
Huawei Technologies1014361.6%
(Consultant)862271.4%
SUSE816241.3%
NXP Semiconductors717821.2%
Xilinx664471.1%
IBM650591.1%
Renesas Electronics584180.9%
Microchip Technology Inc.505290.8%

The employer numbers do not change much from one cycle to the next, so it is unsurprising that a year's worth of numbers looks about the same as well. AMD's showing in the "lines changed" column demonstrates what the results of regularly dumping machine-generated register definitions into the kernel can be.

Finally, another metric of interest is non-author signoffs: the application of a Signed-off-by tag to a patch written by somebody else. That normally happens when a maintainer accepts a patch and adds it to their repository to eventually send upstream. These tags can thus reveal who is doing the maintainer work in the kernel community:

Non-author signoffs, 5.16 through 6.1
Maintainers
Greg Kroah-Hartman 52426.3%
David S. Miller 46055.6%
Mark Brown 37084.5%
Alex Deucher 36894.4%
Jakub Kicinski 29683.6%
Andrew Morton29003.5%
Jens Axboe 19252.3%
Mauro Carvalho Chehab 18722.3%
Bjorn Andersson 17292.1%
Martin K. Petersen 14901.8%
Paolo Bonzini 14561.8%
Kalle Valo 12901.6%
Arnaldo Carvalho de Melo 12211.5%
Michael Ellerman 11091.3%
Vinod Koul 10231.2%
David Sterba 9861.2%
Alexei Starovoitov 9571.2%
Jonathan Cameron 9481.1%
Hans Verkuil 9441.1%
Shawn Guo 8881.1%
Employers
Red Hat1094513.2%
Linaro1048812.6%
Intel81159.8%
Meta69468.4%
Google66498.0%
Linux Foundation57386.9%
AMD40584.9%
SUSE35264.3%
NVIDIA23152.8%
Huawei Technologies20702.5%
IBM19162.3%
(Consultant)18872.3%
Oracle18542.2%
Qualcomm16962.0%
(None)15331.8%
Arm12701.5%
(Unknown)10941.3%
Cisco9501.1%
Microsoft5800.7%
Renesas Electronics5520.7%

The most active maintainers deal with dozens of patches every day and somehow manage to keep their sanity anyway. The list of companies employing maintainers has changed a bit over time; Linaro has been moving up for some time, for example. But it remains true that relatively few companies support the maintainer role; over half of the patches being merged into the mainline kernel pass through the hands of developers working for just five companies. One of the best ways for companies to improve their support for kernel development would be to give their developers the time and encouragement to become maintainers.

All told, though, the kernel's development process continues to move forward at a rapid pace, producing releases on a regular schedule and bringing several new developers into the community every day. The overall picture shows a community that is seemingly in good health and continuing to manage the challenges posed by its fast pace of development.

Index entries for this article
KernelReleases/6.1


to post comments

Development statistics for the 6.1 kernel (and beyond)

Posted Dec 12, 2022 17:56 UTC (Mon) by andy_shev (subscriber, #75870) [Link]

Increasing number of contributors per cycle gives me a hope that the Linux kernel project is not doomed.

Development statistics for the 6.1 kernel (and beyond)

Posted Dec 12, 2022 20:50 UTC (Mon) by rahulsundaram (subscriber, #21946) [Link]

>But it remains true that relatively few companies support the maintainer role; over half of the patches being merged into the mainline kernel pass through the hands of developers working for just five companies

It appears however that the company rankings have shifted over time if we draw up a timeline of a few years. Would be interesting to see an article look into how and why that is.

Development statistics for the 6.1 kernel (and beyond)

Posted Dec 12, 2022 21:17 UTC (Mon) by jedix (subscriber, #116933) [Link] (4 responses)

The maple tree patch set was around 70 patches.. down from 91 but certainly not down to 12.

Maple tree

Posted Dec 12, 2022 21:27 UTC (Mon) by corbet (editor, #1) [Link] (3 responses)

If you look at the maple tree patch set, you'll see that a lot of those patches were written by other people (Matthew Wilcox in particular).

Maple tree

Posted Dec 13, 2022 0:01 UTC (Tue) by willy (subscriber, #9762) [Link] (2 responses)

According to the cover letter of that series, they're split 45 for Liam, 25 for me. They were pretty much all a collaboration; which of us is the author of any given patch is very much debatable.

Maple tree

Posted Dec 13, 2022 8:06 UTC (Tue) by corbet (editor, #1) [Link] (1 responses)

OK, I made a silly mistake; the proper number is 59, and the article has been updated.

For the curious, gitdm actually reported that number correctly, but I didn't take it from there. Instead, I looked at the git shortlog output, which splits the work between "Liam Howlett" and "Liam R. Howlett", with one other developer listed between the two. My mistake, apologies for the confusion.

Maple tree

Posted Dec 14, 2022 10:33 UTC (Wed) by paulj (subscriber, #341) [Link]

Good to have such a prodigy working on the kernel.


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