|
|
Subscribe / Log in / New account

Statistics from the 4.17 kernel development cycle

By Jonathan Corbet
May 31, 2018
The 4.17 kernel appears to be on track for a June 3 release, barring an unlikely last-minute surprise. So the time has come for the usual look at some development statistics for this cycle. While 4.17 is a normal cycle for the most part, it does have one characteristic of note: it is the third kernel release ever to be smaller (in terms of lines of code) than its predecessor.

The 4.17 kernel, as of just after 4.17-rc7, has brought in 13,453 non-merge changesets from 1,696 developers. Of those developers, 256 made their first contribution to the kernel in this cycle; that is the smallest number of first-time developers since 4.8 (which had 237). The changeset count is nearly equal to 4.16 (which had 13,630), but the developer count is down from the 1,774 seen in the previous cycle.

Those developers added 690,000 lines of code, but removed 869,000, for a net reduction of nearly 180,000 lines. The main reason for the reduced line count, of course, is the removal of eight unused architectures. It's worth noting that, even with that much code hacked out, 4.17 will still be a little bit larger than 4.15.

The most active developers this time around were:

Most active 4.17 developers
By changesets
Kuninori Morimoto2451.8%
Kirill Tkhai1601.2%
Arnd Bergmann1481.1%
Chris Wilson1471.1%
Colin Ian King1331.0%
Alexandre Belloni1240.9%
Rex Zhu1220.9%
Dominik Brodowski1190.9%
Christian König1190.9%
Mauro Carvalho Chehab1060.8%
Ajay Singh1020.8%
Ville Syrjälä1000.7%
Arnaldo Carvalho de Melo990.7%
Geert Uytterhoeven940.7%
Hans de Goede860.6%
Masahiro Yamada830.6%
Eric Dumazet770.6%
Gustavo A. R. Silva720.5%
Fabio Estevam720.5%
Linus Walleij710.5%
By changed lines
Arnd Bergmann31510322.9%
Jesper Nilsson1000337.3%
Greg Kroah-Hartman813625.9%
Feifei Xu525093.8%
David Howells407053.0%
Tom St Denis329682.4%
James Hogan319982.3%
Anirudh Venkataramanan189371.4%
Kuninori Morimoto161751.2%
Corentin Labbe152651.1%
John Crispin131881.0%
Yasunari Takiguchi129830.9%
Gilad Ben-Yossef124260.9%
Greentime Hu116900.8%
Rex Zhu114580.8%
Erik Schmauss109800.8%
Jacopo Mondi108420.8%
Harry Wentland101980.7%
Simon Horman91790.7%
Eric Biggers86260.6%

Kuninori Morimoto contributed 245 patches, almost all concerned with a large renaming effort taking place in the ALSA sound driver subsystem. Kirill Thkai did a lot of work to increase parallelism in the network stack, Arnd Bergmann removed most of the old architecture code and did a lot of other cleanup (and year-2038) work throughout the kernel, Chris Wilson did a lot of work on the Intel i915 graphics driver, and Colin Ian King contributed a set of cleanup and typo-fixing patches.

The lines-changed column is dominated by Bergmann and Jesper Nilsson (who removed the Cris architecture). Greg Kroah-Hartman deleted a bunch of staging code (including the venerable IRDA infrared driver stack), Feifei Xu added more AMD GPU definitions, and David Howells removed the mn10300 architecture and did a bunch of filesystem-level work.

Work on 4.17 was supported by 241 companies that we were able to identify; the most active of those were:

Most active 4.17 employers
By changesets
Intel139210.3%
(None)9777.3%
Red Hat8706.5%
(Unknown)7565.6%
AMD7545.6%
IBM5644.2%
Renesas Electronics5594.2%
Linaro5273.9%
Google4483.3%
Mellanox4053.0%
SUSE4003.0%
Bootlin3302.5%
Samsung2682.0%
Oracle2672.0%
Huawei Technologies2441.8%
Odin2321.7%
ARM2221.7%
(Consultant)2011.5%
Canonical1881.4%
Code Aurora Forum1811.3%
By lines changed
Linaro33810324.6%
AMD13872910.1%
Axis Communications1003967.3%
Intel846136.2%
Linux Foundation816785.9%
Red Hat711525.2%
Renesas Electronics425653.1%
(None)359602.6%
Imagination Technologies320002.3%
IBM258411.9%
ARM239061.7%
(Unknown)226461.6%
Google213901.6%
BayLibre209311.5%
Mellanox190811.4%
Bootlin162561.2%
(Consultant)153531.1%
Sony140291.0%
Fon131881.0%
Samsung128230.9%

As usual, there are few surprises here.

The Reviewed-by tag was created to credit those who review code prior to its merging into the kernel. The actual use of that tag is sporadic at best, making it a poor guide to who is actually performing code review. But it still can be worth a look (and people complain when we don't post it). So here is a list of the top credited reviewers, alongside the counts of non-author signoffs (which are also an indicator of patch review):

Most active 4.17 code reviewers
Reviewed-by tags
Alex Deucher2134.5%
Rob Herring1924.1%
Tony Cheng1232.6%
Geert Uytterhoeven1082.3%
Andrew Morton1022.2%
Andy Shevchenko942.0%
Christian König831.8%
Chris Wilson691.5%
Daniel Vetter641.4%
Laurent Pinchart571.2%
Sebastian Reichel561.2%
Harry Wentland561.2%
Johannes Thumshirn551.2%
Hannes Reinecke551.2%
Christoph Hellwig531.1%
Guenter Roeck511.1%
Simon Horman481.0%
Darrick J. Wong451.0%
David Sterba430.9%
Ido Schimmel420.9%
Non-author signoffs
David S. Miller137810.9%
Greg Kroah-Hartman8767.0%
Alex Deucher6405.1%
Mark Brown5374.3%
Mauro Carvalho Chehab3903.1%
Andrew Morton3352.7%
Ingo Molnar3182.5%
Arnaldo Carvalho de Melo2131.7%
Michael Ellerman2101.7%
Herbert Xu2091.7%
Jens Axboe2011.6%
Martin K. Petersen1981.6%
Kalle Valo1551.2%
Thomas Gleixner1531.2%
David Sterba1511.2%
Jason Gunthorpe1341.1%
Jeff Kirsher1331.1%
Simon Horman1281.0%
Doug Ledford1231.0%
Shawn Guo1211.0%

Unlike many maintainers, Alex Deucher applies a Reviewed-by tag to many patches that he applies to his repository, causing him to show up in both columns. Rob Herring has reviewed a wide range of patches centered mostly around device-tree bindings and related issues; these patches were generally applied by somebody else. Geert Uytterhoeven reviews patches from a fair variety of authors, but he is not normally the maintainer who applies them.

Andrew Morton reviews far more code than he ever gets credit for. Until recently, though, that activity has not been reflected by Reviewed-by tags: he supplied exactly one in 2008, 14 in 2009, one in 2012, and one in 2015. That changed in January of this year when he started adding Reviewed-by tags to many of the patches he applies to his own tree; this is part of a broader effort to ensure that all memory-management patches are reviewed. Morton understands what it means to truly review a patch, so each of those tags certainly indicates a real amount of work.

Tony Cheng is an interesting and potentially different case. He is an employee of AMD and, seemingly without exception, his Reviewed-by tags are applied to patches from other AMD developers, and the reviews themselves do not appear on the public mailing lists. He also applies Reviewed-by tags to his own patches, which are relatively small and few in number (example). Reviewed-by tags from people working at the same company as the patch author are often looked at with suspicion by other developers, especially when the reviews happen behind closed doors. In truth, in-house reviews can be among the most rigorous and demanding — or they can be a rubber stamp. Either way, though, applying Reviewed-by tags to one's own patches is not how things are usually done.

The signoff column, of course, shows which maintainers have been accepting the most patches. It does not guarantee that the maintainer has reviewed all of those patches before applying them, though maintainers should ensure that somebody has reviewed them. In any case, there is certainly some amount of work implied by having signed off on a lot of patches.

Use of Reviewed-by tags would appear to be increasing; over time, that may help to bring the amount of review work in the kernel into clearer focus. For now, though, its use remains both spotty and inconsistent; it's better than no data at all, but it's not even close to a complete picture. Overall, these numbers, like all in this article, are far from perfect metrics about who is really doing the work to keep the kernel project going.

One thing that is clear from these numbers is that the kernel remains a busy place — one of the busiest software-development projects on the planet. It seems unlikely that things will slow down anytime soon.

Index entries for this article
KernelReleases/4.17


to post comments


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