|
|
Subscribe / Log in / New account

Development statistics for 2.6.28

By Jonathan Corbet
December 18, 2008
As of this writing, the 2.6.28 kernel is getting quite close to its final release. The flow of patches into the mainline repository has slowed to a trickle. So it become appropriate to look at what was done in this development cycle, and where all that code came from.

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. Miller2392.7%
Yinghai Lu2002.2%
Al Viro1541.7%
Bartlomiej Zolnierkiewicz1501.7%
Alexey Dobriyan1211.3%
Paul Mundt1171.3%
Ingo Molnar1091.2%
Gerrit Renker1091.2%
Russell King911.0%
Johannes Berg911.0%
Steven Rostedt850.9%
Alan Cox840.9%
Takashi Iwai830.9%
Tejun Heo750.8%
Harvey Harrison750.8%
Mark Brown750.8%
Suresh Siddha730.8%
Joerg Roedel720.8%
Hans Verkuil710.8%
Eric Miao700.8%
By changed lines
Greg Kroah-Hartman12784814.9%
Inaky Perez-Gonzalez240842.8%
Mark Brown177142.1%
Joseph Chan157491.8%
Pavel Machek155291.8%
David S. Miller153681.8%
Herbert Xu133091.5%
Yinghai Lu128611.5%
Paul Mundt100881.2%
Magnus Damm100771.2%
James Smart81030.9%
Gerrit Renker75360.9%
Johannes Berg71960.8%
Bartlomiej Zolnierkiewicz71820.8%
Eric Miao71300.8%
Ron Mercer70930.8%
Michael Buesch64750.8%
Nick Kossifidis63800.7%
David Vrabel63570.7%
Adrian Bunk62890.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)168318.8%
Red Hat110112.3%
(Unknown)7908.8%
Intel6547.3%
IBM5265.9%
Novell4605.1%
(Consultant)2272.5%
Oracle2062.3%
Sun2032.3%
Renesas Technology1691.9%
AMD1581.8%
Parallels1521.7%
Marvell1341.5%
(Academia)1311.5%
Analog Devices1221.4%
HP1201.3%
University of Aberdeen1091.2%
Fujitsu1061.2%
Nokia971.1%
Freescale871.0%
By lines changed
Novell15952718.6%
(None)11937313.9%
(Unknown)787859.2%
Red Hat679727.9%
Intel641087.5%
IBM312893.6%
Renesas Technology249002.9%
Sun199262.3%
(Consultant)196052.3%
Wolfson Micro176972.1%
VIA172102.0%
Marvell141081.6%
Freescale126931.5%
Oracle121011.4%
Analog Devices101701.2%
University of Aberdeen99691.2%
Emulex81120.9%
Nokia77440.9%
QLogic76760.9%
Atmel68850.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 Morris1214.5%
Rene Herman1214.5%
Matthew Wilcox67.2%
KOSAKI Motohiro56.0%
Richard Genoud44.8%
Tomas Winkler33.6%
Paul E. McKenney33.6%
Mingming Cao22.4%
Michael Krufky22.4%
KAMEZAWA Hiroyuki22.4%
Pekka Enberg22.4%
Daisuke Nishimura22.4%
Christoph Lameter22.4%
Balbir Singh22.4%
Julius Volz22.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 Bunk52.6%
Randy Dunlap42.1%
Arjan van de Ven31.5%
Ingo Molnar31.5%
Stephen Rothwell31.5%
Robert P. J. Day31.5%
Stephane Eranian31.5%
Daniel Marjamäki31.5%
Rafael J. Wysocki21.0%
Yinghai Lu21.0%
Venki Pallipadi21.0%
Eric Dumazet21.0%
Carlos R. Mafra21.0%
Wu Fengguang21.0%
Zoltan Borbely21.0%
Andy Wettstein21.0%
Steven Noonan21.0%
Alexander Beregalov21.0%
Andrew Morton21.0%
Alexey Dobriyan21.0%
Heiko Carstens21.0%
Jiri Slaby21.0%
Sergei Shtylyov21.0%
Johannes Weiner21.0%
Mike Galbraith21.0%
Hideo Saito21.0%
Zvonimir Rakamaric21.0%
Rik Theys21.0%
Andreas Steffen21.0%
Vegard Nossum21.0%
Tested-by: credits
Ingo Molnar52.9%
Dirk Teurlings52.9%
Peter van Valderen52.9%
Nicolas Pitre42.3%
Matt Helsley42.3%
Christian Borntraeger31.7%
Rafael J. Wysocki31.7%
Riku Voipio31.7%
Byron Bradley31.7%
Tim Ellis31.7%
Kamalesh Babulal31.7%
Alan Jenkins31.7%
Robert Jarzmik31.7%
Martyn Welch31.7%
Takashi Iwai21.2%
Badari Pulavarty21.2%
Jeff Moyer21.2%
Eric Dumazet21.2%
Jesper Dangaard Brouer21.2%
Ramon Casellas21.2%
Markus Trippelsdorf21.2%
Sitsofe Wheeler21.2%
Andrey Borzenkov21.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 Kosina94.6%
Ingo Molnar84.1%
Adrian Bunk73.6%
Bartlomiej Zolnierkiewicz63.1%
Linus Torvalds63.1%
Peter Zijlstra63.1%
Markus Metzger63.1%
Randy Dunlap52.6%
Andrew Morton52.6%
Yinghai Lu42.1%
Venki Pallipadi42.1%
Jiri Slaby42.1%
Suresh Siddha42.1%
Roland Dreier42.1%
Patrick McHardy42.1%
Mark Brown42.1%
Takashi Iwai31.5%
Steven Rostedt31.5%
Stefan Richter31.5%
Paul Mundt31.5%
Thomas Gleixner31.5%
Dmitry Torokhov31.5%
Tested-by: credits
Lennert Buytenhek2212.8%
Takashi Iwai63.5%
Rafael J. Wysocki52.9%
Linus Torvalds52.9%
Alan Stern52.9%
Alexey Starikovskiy52.9%
Henrik Rydberg52.9%
Matt Helsley42.3%
KAMEZAWA Hiroyuki42.3%
Russell King42.3%
Patrick McHardy42.3%
Paul Mundt31.7%
Jens Axboe31.7%
Theodore Tso31.7%
Bartlomiej Zolnierkiewicz31.7%
Jean Delvare31.7%
Thomas Gleixner31.7%
David Brownell31.7%
FUJITA Tomonori31.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
KernelReleases/2.6.28


to post comments

Development statistics for 2.6.28

Posted Jan 8, 2009 12:52 UTC (Thu) by bzolnier (guest, #28067) [Link]

"... IDE code, despite the fact that its user base is shrinking."

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).


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