Some 6.16 development statistics
Work on 6.16 came from 2,057 developers, a reasonably high number relative to previous releases. Of those, though, 310 contributed their first patch to the kernel this time around, the highest new-contributor rate since the release of 6.12 (335 new developers) in late 2024. The most active contributors this time around were:
Most active 6.16 developers
By changesets Kent Overstreet 358 2.4% Herbert Xu 214 1.5% Matthew Wilcox 191 1.3% Krzysztof Kozlowski 163 1.1% Bartosz Golaszewski 157 1.1% Johannes Berg 150 1.0% Rob Herring 141 1.0% Eric Biggers 135 0.9% Alex Deucher 130 0.9% Dmitry Baryshkov 116 0.8% Jakub Kicinski 115 0.8% Michael Rubin 110 0.8% Thomas Weißschuh 108 0.7% Marc Zyngier 105 0.7% Jani Nikula 105 0.7% Ingo Molnar 105 0.7% Thomas Zimmermann 104 0.7% Ian Rogers 102 0.7% Christoph Hellwig 101 0.7% Filipe Manana 101 0.7%
By changed lines Rob Herring 19768 2.7% Ian Rogers 18048 2.4% Ben Skeggs 16659 2.2% Kuniyuki Iwashima 16351 2.2% Herbert Xu 15624 2.1% Kent Overstreet 12108 1.6% Johannes Berg 11170 1.5% Antonio Quartulli 10560 1.4% Eric Biggers 8469 1.1% AngeloGioacchino Del Regno 8387 1.1% James Morse 8045 1.1% Keke Li 7934 1.1% Nicolas Pitre 7825 1.1% Mauro Carvalho Chehab 7335 1.0% Richard Fitzgerald 6531 0.9% Inochi Amaoto 6496 0.9% Jani Nikula 6266 0.8% David Howells 5931 0.8% Wesley Cheng 5454 0.7% Tiwei Bie 5237 0.7%
For the third time in a row, the developer with the most changesets is Kent Overstreet, who continues to work to stabilize the bcachefs filesystem (though the future of that work in the kernel is in doubt). Herbert Xu worked extensively on refactoring within the crypto subsystem (of which he is the maintainer). Matthew Wilcox's commit count is dominated by the conversion of the F2FS filesystem to use folios, but he made many other changes in the memory-management subsystem as well. Krzysztof Kozlowski contributed small improvements throughout the driver subsystem, and Bartosz Golaszewski did a lot of refactoring, mostly within the pin-control and GPIO subsystems.
The numbers in the "changed lines" column are relatively small this time around; this cycle lacked the old-code removals and massive amdgpu header dumps that often show up here. That said, Rob Herring appears at the top by virtue of having removed some unused USB controllers. Ian Rogers updated the Intel performance-monitoring event definitions. Ben Skeggs made a number of changes to the nouveau graphics driver. Kuniyuki Iwashima removed support for the DCCP network protocol.
The top testers and reviewers for 6.16 were:
Test and review credits in 6.16
Tested-by Daniel Wheeler 106 6.6% Timur Tabi 60 3.7% Arnaldo Carvalho de Melo 50 3.1% Thomas Falcon 41 2.5% Judith Mendez 38 2.4% Tomi Valkeinen 34 2.1% Tony Luck 27 1.7% Fenghua Yu 25 1.5% Venkat Rao Bagalkote 23 1.4% Oleksandr Natalenko 23 1.4% Shaopeng Tan 20 1.2% Ingo Molnar 20 1.2% Mark Broadworth 20 1.2% Babu Moger 19 1.2% Mor Bar-Gabay 18 1.1% Weilin Wang 18 1.1%
Reviewed-by Dmitry Baryshkov 254 2.5% Konrad Dybcio 238 2.4% Simon Horman 197 2.0% Ilpo Järvinen 178 1.8% Krzysztof Kozlowski 176 1.8% Chao Yu 172 1.7% Geert Uytterhoeven 145 1.5% David Sterba 137 1.4% Andy Shevchenko 122 1.2% Vasanthakumar Thiagarajan 121 1.2% Rob Herring 107 1.1% David Lechner 106 1.1% Linus Walleij 99 1.0% Neil Armstrong 98 1.0% Hannes Reinecke 96 1.0% Christoph Hellwig 93 0.9%
Daniel Wheeler is still the permanent resident at the top of the testing column; Timur Tabi made a debut in the second position by testing a long series of nouveau patches. On the review side, both Dmitry Baryshkov and Konrad Dybcio reviewed changes related mostly to Qualcomm devices. In the end, 1,375 commits (9.4% of the total) in 6.16 contained Tested-by tags, while 7,518 commits (51.4%) had Reviewed-by tags.
(Subscribers can consult the LWN Kernel Source Database 6.16 page for more details on this activity and more).
Work on 6.16 was supported by 209 employers, a fairly typical number. The most active employers were:
Most active 6.16 employers
By changesets Intel 1655 11.3% (Unknown) 1295 8.8% Red Hat 1117 7.6% (None) 948 6.5% 927 6.3% Linaro 817 5.6% AMD 789 5.4% Qualcomm 528 3.6% SUSE 434 3.0% Meta 420 2.9% Oracle 383 2.6% NVIDIA 354 2.4% Huawei Technologies 349 2.4% Arm 343 2.3% Renesas Electronics 323 2.2% Linutronix 280 1.9% NXP Semiconductors 211 1.4% IBM 203 1.4% (Consultant) 196 1.3% Collabora 183 1.3%
By lines changed Intel 68272 9.2% (Unknown) 67619 9.1% Red Hat 53431 7.2% 51405 6.9% Arm 35050 4.7% NVIDIA 34034 4.6% Qualcomm 33462 4.5% AMD 33176 4.5% (None) 31215 4.2% Linaro 30288 4.1% Huawei Technologies 19337 2.6% Amazon.com 18993 2.6% Collabora 16594 2.2% Meta 15560 2.1% NXP Semiconductors 12227 1.6% Renesas Electronics 11416 1.5% SUSE 11092 1.5% BayLibre 10658 1.4% OpenVPN Inc. 10546 1.4% Amlogic 10425 1.4%
As usual, there are no real surprises in this list.
Bugs, new and old
When developers fix a bug in the kernel, they normally try to identify the commit that introduced that bug in the first place; the addition of a "Fixes" tag to the commit changelog documents that relationship. This tag can be useful for people deciding whether to backport a patch, but it also can provide a picture of how long bugs live in the kernel. For the 6.16 release, a look at these tags produces the following picture. For each previous kernel release, the "Fixed" column shows how many commits were named in Fixes tags, and the "By" column is the number of 6.16 commits that identified the fixed commits.
Releases fixed in v6.16 Release Commits Fixed By v6.15 228 259 259 v6.14 111 142 142 v6.13 92 104 104 v6.12 81 98 98 v6.11 77 88 88 v6.10 55 61 61 v6.9 53 58 58 v6.8 62 73 73 v6.7 49 60 60 v6.6 35 38 38 v6.5 41 41 41 v6.4 33 40 40 v6.3 46 60 60 v6.2 34 41 41 v6.1 25 32 32 v6.0 20 21 21 v5.19 39 49 49 v5.18 22 28 28 v5.17 29 34 34 v5.16 13 13 13 v5.15 20 26 26 v5.14 18 23 23 v5.13 20 24 24 v5.12 15 17 17 v5.11 13 15 15 v5.10 18 21 21 v5.9 21 22 22 v5.8 16 16 16 v5.7 19 20 20 v5.6 11 15 15 v5.5 12 14 14 v5.4 13 13 13 v5.3 8 8 8 v5.2 9 9 9 v5.1 13 15 15 v5.0 16 16 16 v4.20 4 5 5 v4.19 14 15 15 v4.18 9 11 11 v4.17 8 10 10 v4.16 9 8 8 v4.15 13 14 14 v4.14 11 13 13 v4.13 5 7 7 v4.12 7 7 7 v4.11 6 6 6 v4.10 14 16 16 v4.9 7 10 10 v4.8 12 13 13 v4.7 8 8 8 v4.6 4 5 5 v4.5 9 10 10 v4.4 5 5 5 v4.3 6 6 6 v4.2 6 7 7 v4.1 3 3 3 v4.0 5 5 5 v3.19 2 2 2 v3.18 6 6 6 v3.17 4 4 4 v3.16 3 2 2 v3.15 6 6 6 v3.14 7 7 7 v3.13 4 3 3 v3.12 5 7 7 v3.11 5 5 5 v3.10 5 5 5 v3.9 1 2 2 v3.8 6 6 6 v3.7 2 3 3 v3.6 1 1 1 v3.5 6 8 8 v3.4 2 2 2 v3.3 3 3 3 v3.2 3 3 3 v3.1 2 2 2 v3.0 3 3 3 v2.6.39 3 3 3 v2.6.38 1 1 1 v2.6.37 2 2 2 v2.6.36 2 2 2 v2.6.34 1 1 1 v2.6.32 3 4 4 v2.6.31 2 2 2 v2.6.30 4 4 4 v2.6.29 7 9 9 v2.6.28 2 2 2 v2.6.27 1 1 1 v2.6.25 2 2 2 v2.6.24 1 1 1 v2.6.23 1 1 1 v2.6.22 3 3 3 v2.6.21 2 2 2 v2.6.20 2 3 3 v2.6.19 2 2 2 v2.6.18 2 2 2 v2.6.15 2 2 2 v2.6.14 2 2 2 v2.6.13 1 1 1 v2.6.12 2 17 17
This picture looks similar for every release; there is always a long tail of bugs that are fixed many years after having been introduced. Almost every release made in the Git era (the last 20 years) is represented here. There are even 16 commits in 6.16 that fix bugs introduced in the initial commit in the kernel repository; these are bugs that predate the use of Git.
Amusingly (but, again, typically), there are two commits (3637e457eb00 and 81bf912b2c15) in 6.16 that were fixed by four commits (d33724ffb743, d433981385c6, 38e93267ca68, and ca4f113b0b4c) in 6.15. This seemingly clairvoyant development activity is usually an artifact resulting from the cherry-picking of commits between branches that is done in some subsystems.
As of the start of the 6.17 merge window, there are 11,451 non-merge
commits waiting in the linux-next tree, suggesting that 6.17 will be a
slightly smaller release than 6.16 was. LWN will, of course, keep you
informed of the significant changes in this merge window, stay tuned.
Index entries for this article | |
---|---|
Kernel | Releases/6.16 |