Development statistics for the 5.0 kernel
As of this writing, 12,517 non-merge changesets have been pulled into the mainline repository for the 5.0 release. This is low compared to the kernels that came before:
Cycle Changesets 4.15 14,866 4.16 13,630 4.17 13,541 4.18 13,283 4.19 14,043 4.20 13,884 5.0 12,517 (so far)
One has to go back to 4.7, released in July 2016, to find a development cycle that brought in fewer changesets than 5.0. The number of developers contributing to 5.0 was 1,712, roughly equivalent to previous cycles; 276 of those developers made their first kernel contribution in this development cycle.
The most active developers were:
Most active 5.0 developers
By changesets Christoph Hellwig 213 1.7% Masahiro Yamada 135 1.1% Colin Ian King 135 1.1% Jens Axboe 112 0.9% Arnaldo Carvalho de Melo 112 0.9% Yangtao Li 106 0.8% Yue Haibing 100 0.8% Kuninori Morimoto 95 0.8% Andy Shevchenko 94 0.8% Rob Herring 92 0.7% Maxime Ripard 91 0.7% Boris Brezillon 89 0.7% Jakub Kicinski 83 0.7% Michael Straube 83 0.7% Thierry Reding 82 0.7% Ville Syrjälä 82 0.7% Geert Uytterhoeven 80 0.6% Linus Walleij 80 0.6% Paul E. McKenney 78 0.6% Gustavo A. R. Silva 77 0.6%
By changed lines Olof Johansson 41834 6.0% Kan Liang 31458 4.5% Yong Zhi 22799 3.3% Aaro Koskinen 20462 3.0% Firoz Khan 15981 2.3% Jens Axboe 13009 1.9% Tony Lindgren 12237 1.8% Boris Brezillon 11422 1.7% Sean Christopherson 10614 1.5% Dong Aisheng 7998 1.2% Eric Biggers 7476 1.1% Manivannan Sadhasivam 6724 1.0% Christoph Hellwig 6199 0.9% Federico Vaga 5877 0.8% Jordan Crouse 5772 0.8% Kuninori Morimoto 5255 0.8% Florian Westphal 5120 0.7% Mauro Carvalho Chehab 5097 0.7% Lorenzo Bianconi 4941 0.7% Sagi Grimberg 4827 0.7%
Christoph Hellwig was the most prolific contributor of changesets this time around; he did a lot of work in the block subsystem and the DMA API. Masahiro Yamada's work was mostly focused on improvements to the kernel's build system, Colin Ian King continues to make spelling and coding-style fixes throughout the tree, Jens Axboe converted a lot of block drivers to the multiqueue API (along with many other block-layer changes), and Arnaldo Carvalho de Melo worked extensively on the perf utility. Of the top twenty developers with regard to changesets, only one got there through work on the staging tree — a significant change from years past.
Switching to the "lines changed" column: Olof Johansson only contributed seven changesets to 5.0, but one of them was removing the old and unmaintained eicon ISDN driver. Other top contributors in the "lines changed" column include Kan Liang for adding some JSON metrics to the perf utility, Yong Zhi for the Intel IPU3 driver, Aaro Koskinen for work on MIPS OCTEON support, and Firoz Khan, who reworked how the system-call tables are generated for most architectures.
A total of 226 employers supported work on 5.0, which is a typical number. The most active of those were:
Most active 5.0 employers
By changesets Intel 1360 10.9% (None) 937 7.5% (Unknown) 867 6.9% Red Hat 859 6.9% Linaro 552 4.4% 487 3.9% Mellanox 481 3.8% SUSE 418 3.3% AMD 415 3.3% Renesas Electronics 394 3.1% IBM 347 2.8% Huawei Technologies 320 2.6% (Consultant) 311 2.5% 268 2.1% Bootlin 261 2.1% NXP Semiconductors 247 2.0% ARM 226 1.8% Oracle 204 1.6% Canonical 171 1.4% Code Aurora Forum 148 1.2%
By lines changed Intel 116158 16.8% 66816 9.7% Linaro 40368 5.8% Red Hat 33041 4.8% (None) 32191 4.7% (Unknown) 26858 3.9% Mellanox 26487 3.8% 24099 3.5% Nokia 20600 3.0% Bootlin 19019 2.7% AMD 17137 2.5% NXP Semiconductors 16716 2.4% SUSE 14546 2.1% Renesas Electronics 14103 2.0% IBM 13068 1.9% Atomide 12237 1.8% Huawei Technologies 10952 1.6% Code Aurora Forum 10566 1.5% (Consultant) 9353 1.4% ARM 7034 1.0%
The kernel development community relies heavily on its testers and reviewers. The testing and review picture for 5.0 looks like this:
Test and review credits in 5.0
Tested-by Andrew Bowers 50 6.4% Ming Lei 37 4.7% Jarkko Sakkinen 20 2.6% Arnaldo Carvalho de Melo 18 2.3% Janusz Krzysztofik 17 2.2% Alan Tull 17 2.2% Tony Luck 16 2.1% Aaron Brown 15 1.9% Jesper Dangaard Brouer 15 1.9% Heiko Stuebner 14 1.8% Marek Szyprowski 13 1.7% Corentin Labbe 13 1.7% Adam Ford 12 1.5% Wolfram Sang 11 1.4% Tom Zanussi 11 1.4% Steve Longerbeam 11 1.4% Ravulapati Vishnu vardhan Rao 11 1.4% David Ahern 10 1.3% Jarkko Nikula 10 1.3% Ondrej Jirman 10 1.3%
Reviewed-by Rob Herring 186 3.8% Ville Syrjälä 125 2.5% Simon Horman 108 2.2% Geert Uytterhoeven 92 1.9% Hannes Reinecke 90 1.8% Christoph Hellwig 83 1.7% Alex Deucher 72 1.5% David Sterba 69 1.4% Andrew Morton 60 1.2% Omar Sandoval 60 1.2% John Hurley 58 1.2% Rodrigo Vivi 57 1.2% Chris Wilson 57 1.2% Sagi Grimberg 56 1.1% Petr Machata 56 1.1% Daniel Vetter 52 1.1% Christian König 51 1.0% Chao Yu 48 1.0% Andy Shevchenko 44 0.9% Nikolay Borisov 41 0.8%
The kernel's repository can tell us who the patches came from, but it is silent on the question of where they came from. Some insights, though, can be had by looking at the time zone stored in the commit time for each patch. For 5.0, the result looks like this:
Originating time zone for 5.0 patches Offset Changesets Notes -8:00 1,676 US west coast -7:00 622 US mountain -6:00 361 US central -5:00 939 US east coast -4:00 295 -3:00 158 Brazil -2:00 105 0:00 1,611 UK +1:00 2,812 Western Europe +2:00 1,457 Eastern Europe +3:00 447 Finland, Russia +5:30 513 India +8:00 952 China +9:00 302 Japan, Korea +10:00 99 Australia +11:00 140 Australia
A few time zones with less than ten changesets have been omitted from the above table. The association of time zones with countries is, of course, approximate. Daylight savings time can throw things off, as can developers whose systems are not set to their local time. If nothing else, the number of patches with times in UTC is probably higher than the number that actually came from countries in that time zone. There are still a few conclusions that can be drawn, though: it seems clear that an awful lot of kernel work still happens at or just east of the Prime Meridian, for example.
More than anything else, though, this table highlights something we already
knew: the Linux kernel community is truly global in scope. Patches come in
at a high rate from all over the world and are integrated in a (usually)
smooth manner. In this sense, the 5.0 kernel is just like the many that
came before it; it's business as usual in the kernel community.
| Index entries for this article | |
|---|---|
| Kernel | Releases/5.0 |
Posted Feb 21, 2019 19:09 UTC (Thu)
by jani (subscriber, #74547)
[Link] (1 responses)
Indeed. Judging by a handful of European developers whose time zones I know, about half their commits to 5.0 are in DST, and if they're in any way representative, a significant portion of the results are tilted one time zone to East.
Posted Feb 21, 2019 23:06 UTC (Thu)
by mchehab (subscriber, #41156)
[Link]
> Indeed. Judging by a handful of European developers whose time zones I know, about half their commits to 5.0 are in DST, and if they're in any way representative, a significant portion of the results are tilted one time zone to East
Posted Feb 21, 2019 22:11 UTC (Thu)
by arekm (guest, #4846)
[Link] (9 responses)
Posted Feb 22, 2019 0:24 UTC (Fri)
by neilbrown (subscriber, #359)
[Link] (5 responses)
I really don't think that pointing the finger at who produced a bug is ever helpful (except to quietly let them know so they might learn from the experience). All the bugs belong to all of us.
Conversely, highlighting people who fixed lots of bugs would do no harm and could be beneficial. Even better is highlighting people who fixed a bug and made it clear when the bug was introduced so that an informed backport to -stable is easier. This is a valuable contribution worth celebrating.
Posted Feb 22, 2019 21:39 UTC (Fri)
by GustavoARSilva (subscriber, #112293)
[Link] (1 responses)
It'd be interesting to include such statistics in coming reports. In the meantime I took the time to get such data for the most active 5.0 developers.
$ git log --shortstat --author=<name> v4.20..v5.0-rc7 | grep 'Fixes:\s\+[0-9a-f]\{6,\}\s\+(".*")' | wc -l
Geert Uytterhoeven 44
I wanted to use grep 'Fixes:\s\+[0-9a-f]\{12\}\s\+(".*")' but some people don't use the canonical format. Also, I noticed that some people use this format: Fixes: commit 4d230d1271064. Which may be why this kind of info is not included in the report: it is prone to error. So, due this an other formatting issues, in more than three cases, I had to manually edit the final number.
--Gustavo
Posted Feb 28, 2019 8:22 UTC (Thu)
by arnd (subscriber, #8866)
[Link]
Posted Feb 22, 2019 23:09 UTC (Fri)
by martinfick (subscriber, #4455)
[Link] (1 responses)
Posted Feb 23, 2019 8:24 UTC (Sat)
by error27 (subscriber, #8346)
[Link]
The other issue in the kernel is that after two years the original author isn't around or doesn't want to fix bugs. I seldom bother reporting static analysis issues over two years old. If it's less than two years we are good at addressing those.
People take a lot of pride their work generally.
Posted Feb 23, 2019 1:18 UTC (Sat)
by johannbg (guest, #65743)
[Link]
Also there should be comparison between the kernel communities on all the *nix platforms.
How healthy are those,how do they compare to each other, are developers contributing between linux,bsd and solaris.
Is there rise or decline in one but not the others etc.
I dont think Jon and or other writers here have researched into that, gather the stats and written about it.
Posted Feb 22, 2019 7:40 UTC (Fri)
by error27 (subscriber, #8346)
[Link]
Posted Feb 22, 2019 22:40 UTC (Fri)
by kees (subscriber, #27264)
[Link] (1 responses)
Posted Feb 24, 2019 4:51 UTC (Sun)
by spaetz (guest, #32870)
[Link]
Posted Feb 22, 2019 18:02 UTC (Fri)
by Unknown118081 (guest, #118081)
[Link]
Posted Mar 1, 2019 0:03 UTC (Fri)
by flussence (guest, #85566)
[Link]
Posted Mar 7, 2019 10:34 UTC (Thu)
by Wol (subscriber, #4433)
[Link] (1 responses)
East of the Prime Meridian? I don't think so! On the Prime Meridian we have the UK, MOST of which is to the WEST of the Prime Meridian (and the Meridian being on the east side of London, even if most UK work is done in London that is also to the west ...). Then we have the Iberian Peninsula, which despite lying on the Meridian is on West European time. I don't know how much work comes from Africa, nor which countries lie on the Meridian, although it does run straight down the centre of the continent.
(East of the Meridian, in the UK, we have Kent, Essex, and East Anglia. That's about it. Maybe a bit of Lincolnshire.)
Cheers,
Posted Mar 7, 2019 15:22 UTC (Thu)
by rschroev (subscriber, #4164)
[Link]
> East of the Prime Meridian? I don't think so!
I'm not sure I'm following your reasoning here.
The graph shows a lot of changesets from timezones 0, +1 and +2. When the author says "it seems clear that an awful lot of kernel work still happens at or just east of the Prime Meridian", it appears therefore to me he means, very roughly speaking, 0 is at the Prime Meridian and +1 and +2 are just east from it.
But even if we look closer and watch at the geography of these time zones, the statement still holds.
Timezones +1 and +2 are mostly east of Greenwich in winter, and even in summer a large part of +2 is east of Greenwich (in Europe, +2 in summer is CEST. That excludes Portugal, UK, Ireland, Iceland and Greese but includes the rest of Southern and Western Europe and most of Northern and Central Europe. A lot of that is east of Greenwich.
Quite some of the changesets from zones 0 and +1 probably come from west of Greenwich, but even so I imagine part of that is covered by "at the Prime Meridian" (not *exactly at* of course: the line is infinitesimally thin).
It appears that in Africa there is also a lot of land around those longitudes. South Africa, for example is at UTC +2 and can be regarded "just east of the Prime Meridian".
So yes, I'd say a lot of kernel work happens at or just east of Greenwich (i.e. the Prime Meridian).
(For some pedantic nitpicking: Portugal is on Western European Time, but the rest of the Iberian Peninsula (i.e. Spain) is on Central European Time.)
Development statistics for the 5.0 kernel
Development statistics for the 5.0 kernel
Brazil was at GMT-2 also during part of the 5.0 development cycle.
Development statistics for the 5.0 kernel
Development statistics for the 5.0 kernel
Development statistics for the 5.0 kernel
Colin Ian King 30
Jens Axboe 18
Christoph Hellwig 16
Gustavo A. R. Silva 15
Ville Syrjälä 15
Linus Walleij 14
Arnaldo Carvalho de Melo 13
Boris Brezillon 10
Masahiro Yamada 10
Yue Haibing 7
Kuninori Morimoto 5
Andy Shevchenko 3
Rob Herring 3
Jakub Kicinski 2
Thierry Reding 2
Michael Straube 1
Maxime Ripard 1
Yangtao Li 1
Paul E. McKenney 0
Development statistics for the 5.0 kernel
$ git rev-list --grep="Fixes:\s\+[0-9a-f]\{6,\}" v4.20..v5.0-rc8 | xargs git show --format=%an -s | sort | uniq -c | sort -rn | head -n 23
46 Dan Carpenter
38 Geert Uytterhoeven
30 Colin Ian King
25 Arnd Bergmann
19 Chris Wilson
18 Florian Westphal
17 Jens Axboe
15 Ville Syrjälä
15 Martin Blumenstingl
15 Linus Walleij
15 Gustavo A. R. Silva
15 Christoph Hellwig
14 Wei Yongjun
14 Sinan Kaya
14 Paolo Abeni
14 Eric Biggers
13 Arnaldo Carvalho de Melo
12 Willem de Bruijn
11 Yonghong Song
11 Nicholas Mc Guire
11 Lorenzo Bianconi
11 Ido Schimmel
11 Andrew Lunn
Development statistics for the 5.0 kernel
Development statistics for the 5.0 kernel
Development statistics for the 5.0 kernel
aswell and responses between reporters and developers could be meaningful to have ( thou impossible to implement ).
Development statistics for the 5.0 kernel
Development statistics for the 5.0 kernel
Development statistics for the 5.0 kernel
Germany has a saying (translates only clumsily): "Only those who create, create mistakes."
Development statistics for the 5.0 kernel
Development statistics for the 5.0 kernel
Development statistics for the 5.0 kernel
Wol
Development statistics for the 5.0 kernel
