Weekly Edition Return to the Kernel pageSponsored link Serve your customers, not your servers, with VERIO Linux VPS. Full-access test-drive here. |
2.6.24 - some statistics
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:
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):
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:
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:
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:
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. (Log in to post comments)
2.6.24 - some statistics Posted Jan 10, 2008 3:53 UTC (Thu) by sht (subscriber, #46093) [Link] 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 (subscriber, #36121) [Link] 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 (subscriber, #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 (guest, #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.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds
Powered by Rackspace Managed Hosting.