|
|
Subscribe / Log in / New account

2.6.24 - some statistics

Ignore previous instructions; subscribe to LWN today

Every article on LWN.net is written by humans, for humans. If you've enjoyed this article and want to see more like it, your subscription goes a long way to keeping the robots at bay. We are offering a free one-month trial subscription (no credit card required) to get you started.

By Jonathan Corbet
January 9, 2008
As of this writing, the 2.6.24 kernel is getting close to a release - though there is likely to be one more -rc version to look at first. The rate of change has slowed significantly, though, and the final regressions are being chased down. So it seems like a suitable time to look at the patches which went into this kernel and where they came from.

This is, in many ways, a record-breaking development cycle. Over 10,000 individual changesets have been merged this time around, with a net growth of almost 300,000 lines of code. 950 developers contributed this code; of those, 358 contributed just one patch. By comparison, the previous cycle (2.6.23) merged some 6200 patches from about 860 developers. Given that, it's not surprising that the 2.6.24 cycle has been a little longer than some of its predecessors.

Without further ado, here is the list of top contributors to this kernel:

Most active 2.6.24 developers
By changesets
Thomas Gleixner3623.6%
Bartlomiej Zolnierkiewicz2052.0%
Adrian Bunk1901.9%
Ralf Baechle1761.8%
Pavel Emelyanov1461.5%
Ingo Molnar1411.4%
Tejun Heo1381.4%
Paul Mundt1311.3%
Johannes Berg1191.2%
Al Viro1161.2%
Takashi Iwai1151.1%
Jeff Garzik1071.1%
David S. Miller1021.0%
Matthew Wilcox971.0%
Jens Axboe890.9%
Krzysztof Helt890.9%
Stephen Hemminger860.9%
Rusty Russell860.9%
Alan Cox850.8%
Herbert Xu840.8%
By changed lines
Thomas Gleixner463585.9%
Zhu Yi351334.5%
Auke Kok258613.3%
Michael Buesch244803.1%
Ivo van Doorn221782.8%
Matthew Wilcox204162.6%
Adrian Bunk190502.4%
Larry Finger150031.9%
David S. Miller143151.8%
Andy Gospodarek138141.8%
Nathanael Nerode128211.6%
Jeff Dike111031.4%
Johannes Berg101181.3%
Ralf Baechle95551.2%
Scott Wood93281.2%
Krzysztof Helt81621.0%
Kumar Gala80021.0%
Jeff Garzik76891.0%
David Gibson72840.9%
Michael Hennerich71810.9%

By either method of counting, Thomas Gleixner comes out at the top of the list by virtue of his work on the i386/x86_64 architecture merger. Bringing those architectures together and making the result work well was a huge job; this effort will continue into future development cycles. (For the curious, simply renamed files were not counted as "changed lines" in the generation of these numbers). Note that many of these patches also carry a signoff by Ingo Molnar, but git only stores the name of a single "author" for a changeset.

Other contributors of large numbers of changesets in 2.6.24 include Bartlomiej Zolnierkiewicz (lots of IDE driver patches), Adrian Bunk (cleanups all over the kernel tree), Ralf Baechle (MIPS architecture work), Pavel Emelyanov (mostly network and PID namespaces), Tejun Heo (serial ATA and a number of sysfs cleanups), Johannes Berg (wireless networking), and Al Viro (mostly annotation patches and related fixes). If one looks at the number of changed lines, the list of developers changes almost completely: Zhu Yi (iwlwifi driver), Auke Kok (e1000 driver), Michael Buesch (wireless networking and the b43 driver), Ivo van Doorn (rt2x00 wireless driver), Matthew Wilcox (SCSI, especially advansys and sym53c8xx drivers), Adrian Bunk (cleanups and code deletions), Larry Finger (mainly addition of the b43 legacy driver), and David Miller (networking and SPARC64).

If one assigns developers' contributions to employers and totals the results, the following numbers emerge (note that these tables have been updated since initial publication to fix an error):

Most active 2.6.24 employers
By changesets
(None)141714.1%
(Unknown)110811.1%
Red Hat104510.4%
IBM8198.2%
Novell6806.8%
Intel4464.5%
linutronix3693.7%
Oracle2402.4%
SWsoft2122.1%
CERN2052.0%
Movial1901.9%
Linux Foundation1901.9%
MIPS Technologies1761.8%
Renesas Technology1401.4%
(Academia)1321.3%
Freescale1261.3%
MontaVista1221.2%
Analog Devices1151.1%
(Consultant)1121.1%
NetApp1011.0%
By lines changed
(None)14073018.0%
(Unknown)12151115.5%
Intel11499014.7%
Red Hat588587.5%
IBM517776.6%
linutronix479686.1%
Novell298563.8%
Movial190932.4%
Freescale152621.9%
Analog Devices149711.9%
MIPS Technologies117261.5%
SWsoft83311.1%
Linux Foundation79171.0%
Oracle77771.0%
Atmel71250.9%
CERN66180.8%
Renesas Technology64140.8%
Google63730.8%
MontaVista60260.8%
NetApp56200.7%

In many ways, these lists look similar to those posted for past kernels. But there are a few things which jump out this time around:

  • Intel has made it to the top of the "by lines changed" list - and not just by a little bit. This happened by virtue of the work done by four of the top-20 developers, but also by dozens of others who contributed to the 2.6.24 kernel. Intel has a lot of people working on the kernel, many of whom spend little time in the limelight.

  • Movial found its way onto the list for the first time as a result of having hired a very active developer.

  • The amount of work done by people known to be hacking on their own time has grown a bit. This change is mostly a result of more complete information on our side - many developers have moved out of the "unknown" category. Quite a bit of the no-employer work this time around was done on the wireless networking tree; since much of the interesting work in this area currently involves reverse engineering, perhaps it is not surprising that relatively few companies are willing to sponsor it.

All told, some 130 distinct employers were identified for the contributors to 2.6.24. That is a lot of companies to be working on one body of code.

Looking at the Signed-off-by headers of patches is always interesting; if one removes the signoffs added by the authors themselves, what is left is a list of the gatekeepers - those who channel the code into the mainline. The people who signed off on the most patches which they did not write are:

Sign-offs in the 2.6.24 kernel
By developer
Andrew Morton167917.6%
David S. Miller8949.4%
Jeff Garzik6316.6%
Ingo Molnar6266.6%
John W. Linville4134.3%
Mauro Carvalho Chehab3673.9%
Greg Kroah-Hartman3373.5%
Paul Mackerras3053.2%
Jaroslav Kysela2843.0%
James Bottomley2602.7%
Linus Torvalds2502.6%
Thomas Gleixner2162.3%
Bryan Wu1661.7%
Takashi Iwai1151.2%
Jens Axboe1131.2%
Len Brown1131.2%
Avi Kivity1071.1%
Roland Dreier1071.1%
Ralf Baechle961.0%
Adrian Bunk880.9%
By employer
Red Hat293530.2%
Linux Foundation192919.9%
(None)8238.5%
(Unknown)7367.6%
Novell6366.6%
IBM5846.0%
Intel3183.3%
linutronix2162.2%
Analog Devices1751.8%
SGI1411.5%
Oracle1331.4%
Cisco1071.1%
Qumranet1071.1%
NetApp1061.1%
MIPS Technologies961.0%
Movial880.9%
(Consultant)850.9%
Renesas Technology840.9%
Cendio430.4%
CERN400.4%

There are not a lot of changes here from previous development cycles. While quite a few developers add signoffs to code and pass it on, they work for a relatively small number of companies - 7 employers account for 70% of the non-author signoffs.

Finally, given that we are starting a new year, it is worth taking a quick look back at the entirety of 2007. In 2007, Linus merged just over 30,000 changesets (more than 80 per day, every day) from 1900 developers working for (at least) 200 companies. All told, they changed over 2 million lines of code, growing the kernel by more than 750,000 lines. The kernel developers are, in other words, touching over 5,000 lines of code every day - that is a high rate of change.

The top contributors over the course of the year (by changesets) were:

Top contributors in 2007
By developer
Ralf Baechle5071.7%
Thomas Gleixner4851.6%
David S. Miller4681.6%
Adrian Bunk4391.5%
Tejun Heo3941.3%
Ingo Molnar3511.2%
Paul Mundt3511.2%
Al Viro3371.1%
Bartlomiej Zolnierkiewicz3301.1%
Andrew Morton3191.1%
Stephen Hemminger3021.0%
Patrick McHardy2770.9%
Alan Cox2700.9%
Takashi Iwai2690.9%
Trond Myklebust2560.9%
David Brownell2540.8%
Avi Kivity2290.8%
Jeff Dike2270.8%
Jeff Garzik2160.7%
Jean Delvare2150.7%
By employer
(None)488116.2%
Red Hat344111.4%
(Unknown)29339.7%
IBM23797.9%
Novell20546.8%
Intel10603.5%
Linux Foundation7842.6%
Oracle6772.2%
(Consultant)6312.1%
MIPS Technologies5071.7%
linutronix5071.7%
Renesas Technology3941.3%
(Academia)3921.3%
SWsoft3841.3%
SGI3681.2%
MontaVista3421.1%
CERN3301.1%
Freescale2911.0%
NetApp2790.9%
Astaro2770.9%

It should be noted that the employer numbers are more approximate than usual. Some developers changed employers in 2007, but LWN, as a matter of policy, does not maintain a database of developers and their employers over time. Still, the picture is relatively constant - the same companies continue to contribute approximately the same percentage of the patches going into the kernel over relatively long periods of time.

Overall, the picture that results from all these numbers is one of a widespread and healthy development community. There appears to be no shortage of jobs for kernel developers, but also room for those who work outside of the office. The kernel truly is a common resource, with literally thousands of people working to improve it. And it shows no signs of slowing down anytime soon.

Your editor would like to profusely thank Greg Kroah-Hartman for his help in improving these statistics.

Index entries for this article
KernelDevelopment model/Contributor statistics
KernelReleases/2.6.24


to post comments

2.6.24 - some statistics

Posted Jan 10, 2008 3:53 UTC (Thu) by sht (guest, #46093) [Link] (1 responses)

Andrew Morten has a Linux Foundation email address, but isn't he paid by Google? The
"Sign-offs in the 2.6.24 kernel" figure certainly seems to contradict that...

Yup.

Posted Jan 10, 2008 17:22 UTC (Thu) by khim (subscriber, #9252) [Link]

Morton works fro Google since August 2006. Of course his work mostly includes general kernel development anyway...

2.6.24 - some statistics

Posted Jan 10, 2008 4:55 UTC (Thu) by lethal (guest, #36121) [Link] (1 responses)

The Nokia attribution is also bogus, all of my changes should be attributed to Renesas
Technology instead of Nokia. There was a mismatch in earlier versions of the script, which
Greg's version still seems to suffer from. :-)

Fixed

Posted Jan 10, 2008 15:12 UTC (Thu) by corbet (editor, #1) [Link]

I am sure that got fixed at least once before. Fixed again, and I've replaced the erroneous tables. Apologies for the confusion.

2.6.24 - some statistics, and a suggestion

Posted Jan 10, 2008 16:27 UTC (Thu) by geek (guest, #45074) [Link]

Thanks for this, Jonathan, very interesting.

I wonder if it is worthwhile to continue tracking changes to the kernel after it is released
into the wild? It should (AFAICS) be straightforward to track what patches are needed to what
code, for what reason (security, known exploit, race condition, etc.) and from what source.
That would make pretty interesting reading. And any given kernel has only quite a short life
until the next is ready. For myself I'd like the tracking to be as long-term as possible so as
to see how long a tail exists.

Dave

Signed-off-by's not only by gatekeepers

Posted Jan 21, 2008 19:42 UTC (Mon) by bunk (subscriber, #44933) [Link]

I was wondering how on earth it could happen that I came into the TOP20 at "Sign-offs in the
2.6.24 kernel".

The problem is that the following statement sn't completely true:
"Looking at the Signed-off-by headers of patches is always interesting; if one removes the
signoffs added by the authors themselves, what is left is a list of the gatekeepers - those
who channel the code into the mainline."

But this also happens when Andrew merges patches.

E.g. in current -mm the header of maps4-add-proc-kpagecount-interface.patch reads:

<--  snip  -->

From: Matt Mackall <mpm@selenic.com>

This makes physical page map counts available to userspace. Together
with /proc/pid/pagemap and /proc/pid/clear_refs, this can be used to
monitor memory usage on a per-page basis.

[bunk@stusta.de: make struct proc_kpagemap static]
Signed-off-by: Matt Mackall <mpm@selenic.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: David Rientjes <rientjes@google.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

<--  snip  -->

If this patch will get into Linus' tree your statistics will wrongly list me as a gatekeeper
for this patch.


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