Where 2.6.29 came from

Did you know...? LWN.net is a subscriber-supported publication; we rely on subscribers to keep the entire operation going. Please help out by buying a subscription and keeping LWN on the net.

We are very much creatures of tradition here at LWN. So, as the 2.6.29 development cycle nears its end, tradition drives us to take a look at where the code came from in this development cycle.

As of March 17, 11,610 non-merge changesets have been folded into the 2.6.29 kernel. These patches added an amazing 1,228,000 lines of code and documentation, while removing 401,000; the 2.6.29 kernel will have 827,000 more lines than its predecessor. Some 1420 1166 developers took part in this cycle. Your editor, sensing that this number represents a record, decided to look back at previous kernels:

Release Developers 2.6.22 885 2.6.23 854 2.6.24 950 2.6.25 1124 2.6.26 1027 2.6.27 1022 2.6.28 1078 2.6.29 1166

It would seem that there is a clear trend here: the kernel development community has grown significantly over the last couple of years. The number of employers represented by these developers (175) has grown a little, but the uncertainties involved in associating developers with employers argue against reading too much into that particular number. Suffice to say that quite a few companies are supporting kernel development work.

Here are the individual developer statistics:

Most active 2.6.29 developers By changesets Chris Mason 671 5.8% Takashi Iwai 173 1.5% Jaswinder Singh Rajput 158 1.4% Stephen Hemminger 154 1.3% Mike Frysinger 150 1.3% Christoph Hellwig 143 1.2% Ben Dooks 142 1.2% Alexey Dobriyan 138 1.2% Ingo Molnar 133 1.1% Rusty Russell 127 1.1% Steven Rostedt 110 0.9% Mauro Carvalho Chehab 109 0.9% Mark Brown 108 0.9% Sam Ravnborg 108 0.9% David S. Miller 107 0.9% Greg Kroah-Hartman 105 0.9% Harvey Harrison 101 0.9% David Howells 100 0.9% Russell King 93 0.8% Paul Mundt 87 0.7% By changed lines Greg Kroah-Hartman 280883 20.8% Luis R. Rodriguez 71604 5.3% Chris Mason 69935 5.2% Daniel Krueger 56534 4.2% David Kiliani 41371 3.1% David Daney 18767 1.4% Solomon Peachy 17386 1.3% Robert Love 15262 1.1% Sujith 14703 1.1% Inaky Perez-Gonzalez 14388 1.1% David S. Miller 13422 1.0% Jesse Barnes 13036 1.0% Christoph Hellwig 12548 0.9% Michael Hennerich 12334 0.9% Subbu Seetharaman 12285 0.9% Jaswinder Singh Rajput 11651 0.9% Rusty Russell 10878 0.8% Ben Dooks 10809 0.8% David Schleef 10325 0.8% Mark Brown 9945 0.7%

Chris Mason comes out on top of the "changesets" category as a result of the Btrfs merge. It is a significant body of code, to be sure, but the changeset count is as high as it is because the entire Btrfs development history was merged. So we're seeing rather more than three months worth of work there. Takasi Iwai did a great deal of work in the ALSA subsystem, and in the Intel HDA driver in particular. Jaswinder Singh Rajput contributed quite a few patches of the cleanup variety. Stephen Hemminger's work consisted mainly of changing the network driver API, then fixing a long list of broken drivers. And Michael Frysinger contributed a lot of changes to the Blackfin architecture.

If one looks at the number of lines changed, the picture is a little different. As with 2.6.28, Greg Kroah-Hartman fed large amounts of crap (his word) into the -staging tree; that code does not retain the original author information within the git repository (though, of course, credits in the code itself are unchanged). Luis Rodriguez did a lot of work on Atheros wireless drivers and the cfg80211 subsystem; much of this work was associated with regulatory compliance support. Daniel Krueger achieved his place on the list by contributing a single patch: the Systec Electronic openPOWERLINK network stack. David Kiliani is another one-patch wonder; his was a driver for Meilhaus ME-IDS data collection cards. Daniel and David's patches both went into the -staging tree. So, three of the top five code contributors put their work in by way of -staging.

The associated employer statistics look like this:

Most active 2.6.29 employers By changesets (None) 1612 13.9% (Unknown) 1378 11.9% Red Hat 1229 10.6% Oracle 992 8.5% IBM 749 6.5% Intel 686 5.9% Novell 632 5.4% (Consultant) 370 3.2% Analog Devices 282 2.4% Fujitsu 212 1.8% (Academia) 204 1.8% Renesas Technology 165 1.4% Nokia 163 1.4% Vyatta 154 1.3% Parallels 149 1.3% Simtec 138 1.2% Atheros Communications 131 1.1% AMD 130 1.1% Wolfson Microelectronics 104 0.9% SGI 100 0.9% By lines changed Novell 306183 22.7% (Unknown) 197224 14.6% Atheros Communications 96202 7.1% Oracle 93846 7.0% (None) 92811 6.9% Red Hat 77087 5.7% Intel 62265 4.6% SYS TEC electronic GmbH 56534 4.2% Analog Devices 44659 3.3% IBM 40560 3.0% (Consultant) 28983 2.1% Cavium Networks 18767 1.4% Renesas Technology 16946 1.3% Nokia 11951 0.9% Simtec 10886 0.8% Broadcom 10314 0.8% Wolfson Microelectronics 10147 0.8% Freescale 8520 0.6% Chelsio 7738 0.6% QLogic 7322 0.5%

The employer numbers tend not to change radically from one release to the next; many of the same companies show up every time. New appearances this time include Vyatta (which supports Stephen Hemminger's work) and some companies (Simtec, SYS TEC, Cavium Networks) which contributed support for their own products.

The number of patches with Reviewed-by tags remains relatively small - less than 5% of the total. The top credited reviewers this time around are:

Developers with the most reviews James Morris 64 20.2% Dave Chinner 51 16.1% Christoph Hellwig 39 12.3% Andrew Morton 14 4.4% Eric Sandeen 12 3.8% Daisuke Nishimura 11 3.5% KOSAKI Motohiro 10 3.2% Matthew Wilcox 8 2.5% WANG Cong 7 2.2% Zhu, Yi 5 1.6% KAMEZAWA Hiroyuki 5 1.6% Eric Anholt 4 1.3% Pekka Enberg 4 1.3% Tomas Winkler 4 1.3% Paul Menage 4 1.3% Mike Christie 4 1.3% Grant Grundler 4 1.3%

These numbers remain an artifact of how the reporting of reviews is done; certainly there is more code review than this going on. The same is true for reporting and testing credits. For 2.6.29, the numbers are:

Most credited 2.6.29 reporters and testers Reported-by credits Randy Dunlap 13 3.8% Ingo Molnar 7 2.0% Li Zefan 6 1.7% Alexander Beregalov 5 1.5% Stephen Rothwell 5 1.5% Stefan Richter 4 1.2% Johannes Berg 4 1.2% Eric Sesterhenn 4 1.2% Kamalesh Babulal 4 1.2% Larry Finger 3 0.9% Linus Torvalds 3 0.9% Andrew Morton 3 0.9% Guennadi Liakhovetski 3 0.9% Huang Ying 3 0.9% Daisuke Nishimura 3 0.9% Meelis Roos 3 0.9% Geert Uytterhoeven 3 0.9% Tested-by: credits Hin-Tak Leung 14 5.2% Mike Frysinger 7 2.6% Larry Finger 7 2.6% Ingo Molnar 6 2.2% Herton Ronaldo Krzesinski 6 2.2% Li Zefan 5 1.9% Daisuke Nishimura 4 1.5% KAMEZAWA Hiroyuki 4 1.5% Andrew Patterson 4 1.5% Meelis Roos 4 1.5% KOSAKI Motohiro 3 1.1% Stephen Gildea 3 1.1% Robert Jarzmik 3 1.1% Serge Hallyn 3 1.1% Eric Sesterhenn 3 1.1%

All told, 2.6.29 was one of the most active development cycles yet, with vast amounts of code finding its way into the kernel and a record number of developers participating. The development community might be justified in taking a rest after this much work, but the kernel process, it seems, never stops. There is already a lot of work waiting for the 2.6.30 merge window to open, at which point the whole cycle will start anew.

(Thanks, as always, to Greg Kroah-Hartman for his help in assembling these statistics.)

