Development statistics for 2.6.28
In these articles, your editor routinely forgets to thank Greg Kroah-Hartman, who continues to do a lot of work to ensure that these statistics are at least moderately accurate. So we'll get that taken care of at the outset: thanks, Greg!
The 2.6.28 development cycle has seen the incorporation of just under 9,000 changesets; that makes it a bit smaller in this regard than 2.6.27 (10,600) or 2.6.26 (10,100). The development base broadened, though; 1,262 developers have contributed to 2.6.28, more than has been seen with its predecessors. Those developers added 769,000 lines of code while removing 285,000, for a net growth of 484,000 lines - a relatively large amount. Much of that growth came by way of a single developer, as we will see below.
In recent development cycles, some 25% of the patches merged were accepted after the close of the merge window. Linus Torvalds has been making sounds about tightening the criteria for patches during the stabilization period, to the point that they would have to address known regressions to be accepted. A look at 2.6.28, though, shows that 1835 patches (so far) have gone in since 2.6.28-rc1. At 20% of the total, the patch flow rate during the stabilization period has fallen - but not by much.
So where did these patches come from? Here's the top twenty contributors to 2.6.28:
Most active 2.6.28 developers
By changesets David S. Miller 239 2.7% Yinghai Lu 200 2.2% Al Viro 154 1.7% Bartlomiej Zolnierkiewicz 150 1.7% Alexey Dobriyan 121 1.3% Paul Mundt 117 1.3% Ingo Molnar 109 1.2% Gerrit Renker 109 1.2% Russell King 91 1.0% Johannes Berg 91 1.0% Steven Rostedt 85 0.9% Alan Cox 84 0.9% Takashi Iwai 83 0.9% Tejun Heo 75 0.8% Harvey Harrison 75 0.8% Mark Brown 75 0.8% Suresh Siddha 73 0.8% Joerg Roedel 72 0.8% Hans Verkuil 71 0.8% Eric Miao 70 0.8%
By changed lines Greg Kroah-Hartman 127848 14.9% Inaky Perez-Gonzalez 24084 2.8% Mark Brown 17714 2.1% Joseph Chan 15749 1.8% Pavel Machek 15529 1.8% David S. Miller 15368 1.8% Herbert Xu 13309 1.5% Yinghai Lu 12861 1.5% Paul Mundt 10088 1.2% Magnus Damm 10077 1.2% James Smart 8103 0.9% Gerrit Renker 7536 0.9% Johannes Berg 7196 0.8% Bartlomiej Zolnierkiewicz 7182 0.8% Eric Miao 7130 0.8% Ron Mercer 7093 0.8% Michael Buesch 6475 0.8% Nick Kossifidis 6380 0.7% David Vrabel 6357 0.7% Adrian Bunk 6289 0.7%
On the changesets side, David Miller contributes a lot of work to the network stack, but the bulk of his changes this time around are to the SPARC architecture code. Yinghai Lu is a constant source of x86 architecture patches. Al Viro returns to the list with a lot of cleanup work in the VFS code, user-mode Linux, and beyond. Bartlomiej Zolnierkiewicz continues to clean up the legacy IDE code, despite the fact that its user base is shrinking. And Alexey Dobriyan contributed work in a number of areas, with the bulk of it being in the netfilter subsystem and /proc.
When looking at changed lines, one gets the sense that Greg Kroah-Hartman has been rather busy this time around. As it happens, Greg did not actually write most of that code; the bulk of it came in with the addition of the -staging tree. It seems that Greg, the self-named "maintainer of crap," has acquired substantial amounts of it. Inaky Perez-Gonzalez was the source of the patches adding support for ultrawideband radio and wireless USB. Expect to see him show up again soon; he is now working to get the WIMAX subsystem into the kernel. Mark Brown added drivers for a number of Wolfson Micro devices. Joseph Chan contributed the VIA framebuffer driver, and Pavel Machek added a handful of miscellaneous drivers.
So who paid for this work to be done? The 2.6.28 employer table looks like this:
Most active 2.6.28 employers
By changesets (None) 1683 18.8% Red Hat 1101 12.3% (Unknown) 790 8.8% Intel 654 7.3% IBM 526 5.9% Novell 460 5.1% (Consultant) 227 2.5% Oracle 206 2.3% Sun 203 2.3% Renesas Technology 169 1.9% AMD 158 1.8% Parallels 152 1.7% Marvell 134 1.5% (Academia) 131 1.5% Analog Devices 122 1.4% HP 120 1.3% University of Aberdeen 109 1.2% Fujitsu 106 1.2% Nokia 97 1.1% Freescale 87 1.0%
By lines changed Novell 159527 18.6% (None) 119373 13.9% (Unknown) 78785 9.2% Red Hat 67972 7.9% Intel 64108 7.5% IBM 31289 3.6% Renesas Technology 24900 2.9% Sun 19926 2.3% (Consultant) 19605 2.3% Wolfson Micro 17697 2.1% VIA 17210 2.0% Marvell 14108 1.6% Freescale 12693 1.5% Oracle 12101 1.4% Analog Devices 10170 1.2% University of Aberdeen 9969 1.2% Emulex 8112 0.9% Nokia 7744 0.9% QLogic 7676 0.9% Atmel 6885 0.8%
In general, the employer tables tend not to change too much from one development cycle to the next. Greg's staging tree work did put Novell at the top of the lines-changed column, despite the fact that this work did not originate at Novell. As always, one needs to bear in mind that these numbers are approximate.
One welcome change is the first-time appearance of VIA. It appears that this company is truly getting serious about supporting Linux, and that can only be a good thing.
Writing all this code is important, but so is reviewing, testing, and reporting bugs. Continuing with a relatively new tradition, we'll look at who shows up in patch tags indicating this kind of participation, starting with the reviewers:
Developers with the most reviews (total 83) James Morris 12 14.5% Rene Herman 12 14.5% Matthew Wilcox 6 7.2% KOSAKI Motohiro 5 6.0% Richard Genoud 4 4.8% Tomas Winkler 3 3.6% Paul E. McKenney 3 3.6% Mingming Cao 2 2.4% Michael Krufky 2 2.4% KAMEZAWA Hiroyuki 2 2.4% Pekka Enberg 2 2.4% Daisuke Nishimura 2 2.4% Christoph Lameter 2 2.4% Balbir Singh 2 2.4% Julius Volz 2 2.4%
At this point, we are seeing about one Reviewed-by tag for every 100 changes going into the mainline repository. Fortunately, the review situation is not quite that bad; most reviewers simply do not provide these tags for the patches they look at.
The numbers for bug reporting and patch testing look like this:
Most credited 2.6.28 testers
Reported-by credits Adrian Bunk 5 2.6% Randy Dunlap 4 2.1% Arjan van de Ven 3 1.5% Ingo Molnar 3 1.5% Stephen Rothwell 3 1.5% Robert P. J. Day 3 1.5% Stephane Eranian 3 1.5% Daniel Marjamäki 3 1.5% Rafael J. Wysocki 2 1.0% Yinghai Lu 2 1.0% Venki Pallipadi 2 1.0% Eric Dumazet 2 1.0% Carlos R. Mafra 2 1.0% Wu Fengguang 2 1.0% Zoltan Borbely 2 1.0% Andy Wettstein 2 1.0% Steven Noonan 2 1.0% Alexander Beregalov 2 1.0% Andrew Morton 2 1.0% Alexey Dobriyan 2 1.0% Heiko Carstens 2 1.0% Jiri Slaby 2 1.0% Sergei Shtylyov 2 1.0% Johannes Weiner 2 1.0% Mike Galbraith 2 1.0% Hideo Saito 2 1.0% Zvonimir Rakamaric 2 1.0% Rik Theys 2 1.0% Andreas Steffen 2 1.0% Vegard Nossum 2 1.0%
Tested-by: credits Ingo Molnar 5 2.9% Dirk Teurlings 5 2.9% Peter van Valderen 5 2.9% Nicolas Pitre 4 2.3% Matt Helsley 4 2.3% Christian Borntraeger 3 1.7% Rafael J. Wysocki 3 1.7% Riku Voipio 3 1.7% Byron Bradley 3 1.7% Tim Ellis 3 1.7% Kamalesh Babulal 3 1.7% Alan Jenkins 3 1.7% Robert Jarzmik 3 1.7% Martyn Welch 3 1.7% Takashi Iwai 2 1.2% Badari Pulavarty 2 1.2% Jeff Moyer 2 1.2% Eric Dumazet 2 1.2% Jesper Dangaard Brouer 2 1.2% Ramon Casellas 2 1.2% Markus Trippelsdorf 2 1.2% Sitsofe Wheeler 2 1.2% Andrey Borzenkov 2 1.2%
In each case, everybody with at least two credits was listed. The good news is that, while there's certainly some familiar names on that list, we are also seeing appearances by people who are not known as kernel developers. There really is a testing community out there which includes more than just developers. Your editor suspects that we still are not doing a very good job of crediting them for their work, but this convention is relatively new and we can still hope for progress in this direction. To that end, the developers who are crediting reporters and testers are:
Developers giving credits in 2.6.28
Reported-by credits Jiri Kosina 9 4.6% Ingo Molnar 8 4.1% Adrian Bunk 7 3.6% Bartlomiej Zolnierkiewicz 6 3.1% Linus Torvalds 6 3.1% Peter Zijlstra 6 3.1% Markus Metzger 6 3.1% Randy Dunlap 5 2.6% Andrew Morton 5 2.6% Yinghai Lu 4 2.1% Venki Pallipadi 4 2.1% Jiri Slaby 4 2.1% Suresh Siddha 4 2.1% Roland Dreier 4 2.1% Patrick McHardy 4 2.1% Mark Brown 4 2.1% Takashi Iwai 3 1.5% Steven Rostedt 3 1.5% Stefan Richter 3 1.5% Paul Mundt 3 1.5% Thomas Gleixner 3 1.5% Dmitry Torokhov 3 1.5%
Tested-by: credits Lennert Buytenhek 22 12.8% Takashi Iwai 6 3.5% Rafael J. Wysocki 5 2.9% Linus Torvalds 5 2.9% Alan Stern 5 2.9% Alexey Starikovskiy 5 2.9% Henrik Rydberg 5 2.9% Matt Helsley 4 2.3% KAMEZAWA Hiroyuki 4 2.3% Russell King 4 2.3% Patrick McHardy 4 2.3% Paul Mundt 3 1.7% Jens Axboe 3 1.7% Theodore Tso 3 1.7% Bartlomiej Zolnierkiewicz 3 1.7% Jean Delvare 3 1.7% Thomas Gleixner 3 1.7% David Brownell 3 1.7% FUJITA Tomonori 3 1.7%
A quick grep shows that the number of Reported-by and Tested-by tags in
patches was almost exactly the same over the 2.6.27 and 2.6.28 development
cycles. Given the smaller number of patches in 2.6.28, this indicates that
a slightly higher percentages of patches are now carrying those tags.
Emphasis on "slightly" is in order, though; we are, for the most part,
still not crediting a great many people who have helped to get 2.6.28 into
shape.
Index entries for this article | |
---|---|
Kernel | Releases/2.6.28 |
Posted Jan 8, 2009 12:52 UTC (Thu)
by bzolnier (guest, #28067)
[Link]
This is not so black & white. While most desktop distributions switched to use libata for PATA handling this is not true for many embedded distros (there are new IDE host drivers for embedded appliances submitted/merged with each kernel release, moreover there doesn't seem to be an organized effort from libata side to add support for all non-x86 hardware currently only handled by IDE).
Development statistics for 2.6.28