|
|
Subscribe / Log in / New account

Development statistics for 6.4

By Jonathan Corbet
June 26, 2023
The 6.4 kernel was released on June 25 after a nine-week development cycle. By that point, 14,835 non-merge changesets had been pulled into the mainline kernel, a slight increase from 6.3 (14,424 changesets) but still lower than many other development cycles. As usual, LWN has taken a look at those changesets, who contributed them, and what the most active developers were up to.

The work in 6.4 was contributed by 1,980 developers, 282 of whom made their first kernel contribution during this development cycle. The most active 6.4 developers were:

Most active 6.4 developers
By changesets
Uwe Kleine-König 7815.3%
Krzysztof Kozlowski 4993.4%
Rob Herring 2001.3%
Ian Rogers 2001.3%
Konrad Dybcio 1461.0%
Thomas Zimmermann 1320.9%
AngeloGioacchino Del Regno 1260.8%
Hans de Goede 1210.8%
Christoph Hellwig 1180.8%
Ville Syrjälä 1160.8%
Tom Rix 1150.8%
Nick Alcock 1120.8%
Johannes Berg 1110.7%
Darrick J. Wong 1110.7%
Philipp Hortmann 1010.7%
Geert Uytterhoeven 880.6%
Greg Kroah-Hartman 870.6%
Manivannan Sadhasivam 850.6%
Eric Dumazet 840.6%
Bart Van Assche 830.6%
By changed lines
Ian Rogers 16744317.4%
Hawking Zhang 12391512.8%
Eduard Zingerman 253222.6%
Laurent Pinchart 172101.8%
Ping-Ke Shih 160621.7%
Darrick J. Wong 110271.1%
Uwe Kleine-König 101591.1%
Benjamin Tissoires 86230.9%
Konrad Dybcio 84210.9%
Jani Nikula 79820.8%
Jiri Slaby 76450.8%
AngeloGioacchino Del Regno 73530.8%
Krzysztof Kozlowski 72850.8%
Hans de Goede 70680.7%
Paul Gortmaker 70110.7%
Tony Nguyen 68340.7%
Jeffrey Hugo 67180.7%
Wolfram Sang 66650.7%
Devi Priya 60360.6%
Qu Wenruo 56170.6%

The 6.3 merge window included a patch from Uwe Kleine-König adding a new function pointer to struct platform_driver. Noting that the driver core ignores the return value from the remove() function, he decided to make that function return void instead. There are, however, many drivers defining that function — more than could be changed at that time. So, rather than changing remove(), he added remove_new(), which behaves in the same way with the exception that it returns void; that made it possible to convert drivers at leisure.

"At leisure" may not describe what happened in 6.4, though, where Kleine-König contributed 781 changesets, almost all of them converting drivers to remove_new(). It's worth noting that we are likely to see a repeat of this performance; the plan calls for renaming remove_new() back to remove() (and updating all the drivers again) once the conversion is complete. Krzysztof Kozlowski, whose work (mostly in the devicetree subtree) would have normally put him easily into the top position, came in a distant second this time around. Ian Rogers made a number of enhancements to the perf tool, Rob Herring worked mostly on devicetree improvements, and Konrad Dybcio hacked on various system-on-chip drivers and devicetree files.

Rogers also made it to the top of the "lines changed" column by contributing updated event definitions for perf. Hawking Zhang added the obligatory set of amdgpu register definitions. Eduard Zingerman reworked many of the BPF self-tests, adding a lot of inline assembly code; this patch is a typical example. Laurent Pinchart deleted a number of unused camera-sensor drivers while adding the i.MX8 ISI driver, and Ping-Ke Shih added a set of static tables to the rtw89 WiFi driver.

The top testers and reviewers this time around were:

Test and review credits in 6.4
Tested-by
Daniel Wheeler 15912.9%
Chen-Yu Tsai 615.0%
Marek Szyprowski 362.9%
Abhinav Kumar 272.2%
Sachin Sant 211.7%
Joel Fernandes 201.6%
Zqiang 181.5%
Tommaso Merciai 171.4%
Philipp Hortmann 161.3%
Tony Zhu 161.3%
Arnaldo Carvalho de Melo 151.2%
Marek Szlosek 151.2%
Reviewed-by
Simon Horman 3273.9%
Konrad Dybcio 2082.5%
Krzysztof Kozlowski 1972.4%
AngeloGioacchino Del Regno 1511.8%
David Sterba 1341.6%
Rob Herring 1271.5%
Chen-Yu Tsai 1181.4%
Dmitry Baryshkov 1161.4%
Dave Chinner 1151.4%
Hans de Goede 1131.4%
Christoph Hellwig 1121.3%
Geert Uytterhoeven 1041.3%

For 6.4, 1,064 commits (7% of the total) carried Tested-by tags, while 6,392 (43%) had Reviewed-by tags. That is a significant drop since 6.3 for both types of tags. The Tested-by tags, in particular, clearly do not reflect the actual testing activity that is taking place in the kernel community.

A total of 230 employers (that could be identified) supported work on 6.4, a slight increase from 6.3. The most active employers were:

Most active 6.4 employers
By changesets
Intel154210.4%
Linaro150510.1%
Google11377.7%
(Unknown)10867.3%
Red Hat8815.9%
Pengutronix8265.6%
AMD6244.2%
(None)5823.9%
Meta4673.1%
Oracle3842.6%
NVIDIA3812.6%
SUSE3552.4%
IBM3492.4%
Qualcomm3002.0%
(Consultant)2621.8%
Collabora2361.6%
Renesas Electronics2241.5%
Huawei Technologies2211.5%
NXP Semiconductors1951.3%
Microsoft1831.2%
By lines changed
Google19196319.9%
AMD15623516.2%
Intel731797.6%
(Unknown)676487.0%
Linaro422604.4%
Red Hat392934.1%
Qualcomm280962.9%
(None)236962.5%
(Consultant)234882.4%
SUSE233932.4%
Meta209782.2%
Realtek208302.2%
NVIDIA190502.0%
Oracle169421.8%
IBM157681.6%
Renesas Electronics145191.5%
Pengutronix115981.2%
MediaTek109561.1%
Collabora100661.0%
Microsoft98241.0%

As usual, there are not a lot of surprises to be found in these results.

"Lines changed" is, like commit counts, a poor proxy for software productivity, but it's hard to find a better one. So, your editor has concluded, one might as well just go nuts with the "lines changed" metric over the long term. With the use of git blame and a certain amount of CPU time, it is possible to look at who is "blamed" for every line in the kernel source — who is the last developer to have touched it, in other words.

Running this analysis on the 6.4-rc7 kernel turns up 22,612 developers who have touched at least one line — 2,135 of whom have touched exactly one line. The developers who have left the biggest imprint on the 6.4 kernel are:

DeveloperLinesPct
Linus Torvalds21590255.9%
Alex Deucher11771053.2%
Hawking Zhang8408382.3%
Huang Rui4790021.3%
Mauro Carvalho Chehab4170861.1%
Aurabindo Pillai3836291.1%
Oded Gabbay2926110.8%
Ian Rogers2719050.7%
Leo Li2286800.6%
Bhawanpreet Lakha2062750.6%
Qingqing Zhuo1985160.5%
Aaron Liu1931740.5%
Ping-Ke Shih1844530.5%
Larry Finger1723460.5%
Ben Skeggs1701900.5%
Roman Li1647430.5%
Mark Brown1587650.4%
David Howells1585300.4%
Hans de Goede1577190.4%
Laurent Pinchart1459000.4%
James Smart1454270.4%
Kalle Valo1443620.4%
Hans Verkuil1420930.4%
Johannes Berg1392450.4%
Takashi Iwai1315430.4%
Feifei Xu1275100.4%
Christoph Hellwig1271290.3%
Thierry Reding1184620.3%
Linus Walleij1152890.3%
David S. Miller972070.3%

Torvalds does not write a lot of kernel code these days, and hasn't for some time; his position at the top of the list is the enduring legacy of the initial Git commit of the 2.6.12 kernel in 2005. Many of the other developers on that list — Alex Deucher, Hawking Zhang, Huang Rui, Aurabindo Pillai, Leo Li, Qingqing ZHuo, Aaron Liu, and Roman Li — are there primarily as the result of having contributed amdgpu header files, though Deucher's work is quite a bit broader than that. Mauro Carvalho Chehab has left such a big footprint after many years of intensive work in the media subsystem and the conversion of much kernel documentation to the RST format.

A few of the developers on the above list are there as the result of consistent kernel work over a period of decades, but that clearly is not the main variable being measured here. Those wanting to see more can view the top 2,000 results separately. Note that no attempt has been made to join multiple entries resulting from name changes, typos, or mailing-list mangling.

As of this writing, there are about 11,330 changesets waiting in linux-next for the 6.5 merge window. LWN will, of course, be watching as that work pours into the mainline and yet another development cycle runs its course. The kernel development community continues to run at full speed.

Index entries for this article
KernelReleases/6.4


to post comments

Netdev development stats

Posted Jun 28, 2023 14:00 UTC (Wed) by corbet (editor, #1) [Link]

See also: the netdev development statistics posted by Jakub Kicinski.

Development statistics for 6.4

Posted Jul 2, 2023 22:06 UTC (Sun) by aegl (subscriber, #37581) [Link]

Downloading the tarball for 2.6.12 from kernel.org I see that the whole kernel was 6777860 lines back then.

If only 2159025 lines from that version are still present in v6.4, then over two thirds of that source base has been changed/re-written/deleted.


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