|
|
Subscribe / Log in / New account

Kernel development statistics for 2.6.35

July 14, 2010

This article was contributed by Greg Kroah-Hartman.

In the tradition of summarizing the statistics of the Linux kernel releases before the actual release of the kernel version itself, here is a summary of what has happened in the Linux kernel tree over the past few months.

This kernel release has seen 9460 changesets from about 1145 different developers so far. This continues the trend over the past few kernel releases for the size of both the changes as well as the development community as can be seen in this table:

KernelPatchesDevs
2.6.29 11,600 1170
2.6.30 11,700 1130
2.6.31 10,600 1150
2.6.32 10,800 1230
2.6.33 10,500 1150
2.6.34 9,100 1110
2.6.35 9,460 1145

Perhaps our years of increasing developer activity — getting more developers per release and more changes per release — has finally reached a plateau. If so, that is not a bad thing, as a number of us were wondering what the limits of our community were going to be. At around 10 thousand changes per release, that limit is indeed quite high, so there is no need to be concerned, as the Linux kernel is still, by far, the most active software development project the world has ever seen.

In looking at the individual developers, the quantity and size of contributions is still quite large:

Most active 2.6.35 developers
By changesets
Mauro Carvalho Chehab2282.3%
Dan Carpenter1351.3%
Greg Kroah-Hartman1341.3%
Arnaldo Carvalho de Melo1211.2%
Johannes Berg1051.0%
Ben Dooks981.0%
Julia Lawall961.0%
Hans Verkuil920.9%
Alexander Graf840.8%
Eric Dumazet820.8%
Peter Zijlstra790.8%
Paul Mundt790.8%
Johan Hovold750.7%
Tejun Heo740.7%
Stephen Hemminger740.7%
Mark Brown710.7%
Sage Weil700.7%
Alex Deucher680.7%
Randy Dunlap670.7%
Frederic Weisbecker660.7%
By changed lines
Uwe Kleine-König19424918.5%
Ralph Campbell532505.1%
Greg Kroah-Hartman317143.0%
Stepan Moskovchenko300372.9%
Arnaud Patard287832.7%
Mauro Carvalho Chehab279022.7%
Eliot Blennerhassett184901.8%
Luis R. Rodriguez165551.6%
Daniel Mack161761.5%
Bob Beers117031.1%
Jason Wessel105021.0%
Viresh KUMAR104991.0%
Barry Song101161.0%
James Chapman96450.9%
Steve Wise95800.9%
Sjur Braendeland87750.8%
Alex Deucher77210.7%
Jassi Brar75540.7%
Sujith75440.7%
Giridhar Malavali68670.7%

Uwe Kleine-König, who works for Pengutronix, dominates the "changed lines" list due to one patch that Linus just pulled for the 2.5.35-rc5 release that deleted almost all of the ARM default config files. Linus responded when Uwe posted his patch with:

Well, I can hardly refuse a pull that removes almost 200k lines. So I'd happily pull it. Just this single line in your email is a very very powerful thing:

> 177 files changed, 652 insertions(+), 194157 deletions(-)

Other than that major cleanup, the majority of the work was in drivers. Ralph Campbell did a lot of Infiniband driver work, I did a lot of cleanup on some staging drivers, and Stepan Moskovchenko and Arnaud Patard contributed new drivers to the staging tree. Mauro Carvalho Chehab contributed lots of Video for Linux driver work — rounding out the top 6 contributors by lines of code changed.

Continuing the view that this kernel is much like previous ones, 177 different employers were found to have contributed to the 2.6.35 kernel release:

Most active 2.6.35 employers
By changesets
(None)142914.2%
Red Hat118511.8%
(Unknown)9049.0%
Intel6376.3%
Novell5595.6%
IBM2952.9%
Nokia2532.5%
(Consultant)2152.1%
Atheros Communications1751.7%
AMD1731.7%
Oracle1691.7%
Samsung1631.6%
Texas Instruments1621.6%
(Academia)1401.4%
Fujitsu1381.4%
Google1221.2%
Renesas Technology1021.0%
Analog Devices981.0%
Simtec961.0%
NTT930.9%
By lines changed
Pengutronix19517518.6%
Red Hat823347.8%
(None)793137.6%
(Unknown)724266.9%
QLogic721316.9%
Novell496514.7%
Intel472604.5%
Code Aurora Forum400813.8%
Mandriva291052.8%
Atheros Communications290552.8%
Samsung258172.5%
ST Ericsson204632.0%
Analog Devices188891.8%
AudioScience Inc.185451.8%
caiaq161941.5%
Nokia148911.4%
Texas Instruments148641.4%
(Consultant)142091.4%
IBM122351.2%
ST Microelectronics117281.1%

But enough of the normal way of looking at the kernel as a whole body. Let's try something different this time, and break the contributions down by the different functional areas of the kernel.

The kernel is a bit strange in that it is a mature body of code that still changes quite frequently and throughout the whole body of code. It is not just drivers that are changing, but the "core" kernel as well. That is pretty unusual for a mature code base. The core kernel code — those files that all architectures and users use no matter what their configuration is — comprises 5% of the kernel (by lines of code), and you will find that 5% of the total kernel changes happen in that code. Here is the raw number of changes for the "core" kernel files for the 2.6.35-rc5 release.

ActionLines% of all changes
Added 27,550 4.50%
Deleted 7,450 1.90%
Modified 6,847 4.93%

Note that the percent deleted are a bit off because of the huge defconfig delete by Uwe as described above.

So, if the changes are made in a uniform way across the kernel, does that mean that the same companies contribute in a uniform way as well, or do some contribute more to one area than another?

I've broken the kernel files down into six different categories:

  • core : This includes the files in the init, block, ipc, kernel, lib, mm, and virt subdirectories.
  • drivers : This includes the files in the crypto, drivers, sound, security, include/acpi, include/crypto, include/drm, include/media, include/mtd, include/pcmcia, include/rdma, include/rxrpc, include/scsi, include/sound, and include/video subdirectories.
  • filesystems : This includes the files in the fs subdirectory.
  • networking : This includes the files in the net and include/net subdirectories.
  • architecture-specific : This includes the files in the arch, include/xen, include/math-emu, and include/asm-generic subdirectories.
  • miscellaneous : This includes all of the rest of the files not included in the above categories.
Based on these categories, the size of the 2.6.35 kernel is as follows:
Category% Lines
Core 4.37%
Drivers 57.06%
Filesystems 7.21%
Networking 5.03%
Arch-specific 21.92%
Miscellaneous 4.43%

Here are the top companies contributing to the different areas of the kernel:

Most active 2.6.35 employers (core)
By changesets
Red Hat21816.5%
(None)14811.2%
IBM665.0%
Novell604.5%
Intel594.5%
(Unknown)574.3%
Fujitsu332.5%
Google302.3%
Wind River221.7%
Oracle221.7%
Nokia221.7%
(Consultant)221.7%
By lines changed
Wind River953525.4%
Red Hat627716.7%
Novell23856.4%
(None)20745.5%
IBM20645.5%
Intel14803.9%
Fujitsu14313.8%
Google14173.8%
VirtualLogix Inc.9922.6%
ST Ericsson9572.6%
caiaq7071.9%
(Unknown)6141.6%

The companies contributing to the core kernel files are not surprising. These companies have all contributed to Linux for a long time, and it is part of their core strategy. Wind River has a high number of lines changed due to all of the KGDB work that Jason Wessel has been doing in getting that codebase cleaned up and merged into the main kernel tree.

Most active 2.6.35 employers (drivers)
By changesets
(None)102218.1%
(Unknown)67812.0%
Red Hat5289.4%
Intel4998.9%
Novell3366.0%
Nokia1993.5%
Atheros Communications1652.9%
(Academia)941.7%
IBM861.5%
QLogic861.5%
By lines changed
QLogic7212212.2%
(None)6135610.4%
(Unknown)6080210.3%
Red Hat472048.0%
Intel398916.7%
Novell369516.2%
Code Aurora Forum348885.9%
Mandriva288674.9%
Atheros Communications288444.9%
AudioScience Inc.185353.1%

Because the drivers make up over 50% of the overall size of the kernel, the contributions here track the overall company statistics very closely. The company AudioScience Inc. sneaks onto the list of changes due to all of the work that Eliot Blennerhassett has been doing on the asihpi sound driver.

Most active 2.6.35 employers (filesystems)
By changesets
Red Hat13415.9%
Oracle779.1%
New Dream Network769.0%
Novell769.0%
(Unknown)738.7%
(None)586.9%
NetApp425.0%
Parallels394.6%
IBM232.7%
Univ. of Michigan CITI232.7%
By lines changed
Oracle719424.2%
Red Hat639221.5%
Novell398913.4%
(Unknown)308110.4%
(None)20246.8%
New Dream Network14234.8%
NetApp8973.0%
Google8572.9%
Parallels6872.3%
(Consultant)5461.8%

Filesystem contributions, like drivers, match up with the different company strengths. New Dream Network might not be a familiar name to a lot of people, but their development on the Ceph filesystem pushed it into the list of top contributors. The University of Michigan did a lot of NFS work, bringing that organization into the top ten.

Most active 2.6.35 employers (networking)
By changesets
SFR749.6%
(Consultant)739.5%
Red Hat729.3%
(None)678.7%
ProFUSION557.1%
Intel455.8%
Astaro354.5%
Vyatta344.4%
(Unknown)344.4%
Oracle202.6%
ST Ericsson202.6%
Univ. of Michigan CITI202.6%
By lines changed
Katalix Systems921324.2%
ST Ericsson800321.0%
(Consultant)36919.7%
Univ. of Michigan CITI23346.1%
Astaro19565.1%
Red Hat18824.9%
Intel16074.2%
SFR15554.1%
ProFUSION10652.8%
(None)10602.8%
(Unknown)10352.7%

Like the filesystem list, networking also shows the University of Michigan's large contributions as well as many of the other common Linux companies. But here a number of not-so-familiar companies start showing up.

SFR is a French mobile phone company, and contributed lots of changes all through the networking core. ProFUSION is an embedded development company that did a lot of Bluetooth development for this kernel release. Katalix Systems is another embedded development company and they contributed a lot of l2tp changes. Astaro is a networking security company that contributed a number of netfilter changes.

Most active 2.6.35 employers (architecture-specific)
By changesets
Red Hat1467.2%
(None)1437.0%
IBM1205.9%
Novell1095.4%
Samsung1004.9%
Texas Instruments944.6%
AMD904.4%
Simtec854.2%
(Unknown)753.7%
(Consultant)733.6%
By lines changed
Pengutronix19421160.5%
Samsung153414.8%
ST Microelectronics100383.1%
(None)83382.6%
Red Hat79812.5%
(Consultant)66952.1%
IBM60641.9%
Novell59731.9%
Code Aurora Forum51141.6%
Analog Devices43451.4%

With the architecture-specific files taking up the second largest chunk of code in the kernel, the list of contributing companies is closer to the list of overall contributors as well, with more hardware companies showing that they contribute a lot of development to get Linux working properly on their specific processors.

Most active 2.6.35 employers (miscellaneous)
By changesets
Red Hat20626.9%
(None)11014.4%
(Unknown)354.6%
Novell283.7%
Intel273.5%
IBM182.4%
Fujitsu162.1%
Google152.0%
Wind River91.2%
(Academia)91.2%
Vyatta91.2%
By lines changed
Red Hat1277234.0%
Broadcom608216.2%
(None)515613.7%
(Unknown)27577.3%
Intel22125.9%
(Academia)18504.9%
Samsung7692.1%
Wind River5931.6%
Fujitsu5921.6%
Nokia5321.4%
IBM4991.3%

The rest of the various kernel files that don't fall into any other major category show that Red Hat has done a lot of work on the userspace performance monitoring tools that are bundled with the Linux kernel.

As for overall trends in the different categories, Red Hat shows that they completely dominate all areas of developing the Linux kernel when it comes to the number of contributions. No other company shows up in the top ten contributors for all categories like they do. But, by breaking out the kernel contributions in different areas of the kernel, we see that a number of different companies are large contributors in different, important areas. Normally these contributions get drowned out by the larger contributors, but the more specialized contributors are just as important to advancing the Linux kernel.


Index entries for this article
KernelReleases/2.6.35
GuestArticlesKroah-Hartman, Greg


to post comments

Kernel development statistics for 2.6.35

Posted Jul 15, 2010 2:31 UTC (Thu) by dvhart (guest, #19636) [Link]

Great breakdown Greg, thanks for doing this. Very informative.

Ceph and Dreamhost

Posted Jul 15, 2010 11:05 UTC (Thu) by Cato (guest, #7643) [Link]

As a Dreamhost hosting customer, I'm rather pleased to see they are involved in Ceph filesystem development (via their co-founder) and are apparently <a href="http://www.dreamhost.com/jobs.html">hiring Ceph developers</a>.

On a more prosaic note: not sure if Ceph addresses this, but anything that can fix the multi-hour fsck's required (for shared hosting and VPS providers on ext3) after a power cut would be very beneficial.

At least <a href="http://thunk.org/tytso/blog/2008/08/08/fast-ext4-fsck-times/">ext4 fsck is faster</a>...

Kernel development statistics for 2.6.35

Posted Jul 15, 2010 12:22 UTC (Thu) by ukleinek (subscriber, #56625) [Link] (1 responses)

"deleted almost all of the ARM default config files" is wrong. I didn't delete a single defconfig, just removed ~1000 lines in average from each defconfig.

Thanks
Uwe

Kernel development statistics for 2.6.35

Posted Jul 15, 2010 14:16 UTC (Thu) by cesarb (subscriber, #6266) [Link]

Well, it depends on how you parse that sentence. You *did* delete almost all of them, leaving only a few lines on each. That is, you deleted almost all of the content of the files.

Kernel development statistics for 2.6.35

Posted Jul 15, 2010 14:06 UTC (Thu) by arjan (subscriber, #36785) [Link] (1 responses)

Interesting that Wind River is counted separately from Intel.... Intel acquired Wind River like a year ago or so ....

Kernel development statistics for 2.6.35

Posted Jul 22, 2010 14:05 UTC (Thu) by abadidea (guest, #62082) [Link]

I am guessing they have a separate budget, mission, and of course branding from the parent Intel. They have an established reputation so it makes sense IMHO to list them separately.

Kernel development statistics for 2.6.35

Posted Jul 15, 2010 19:44 UTC (Thu) by Julie (guest, #66693) [Link] (1 responses)

Let's try something different this time, and break the contributions down by the different functional areas of the kernel.

Presenting the material in this way is really interesting and illuminating. I'd often frequently been intrigued when trawling through the source tree by how little proportionally the 'core' code takes up, but still, only 5% surprised me.

Kernel development statistics for 2.6.35

Posted Jul 16, 2010 19:58 UTC (Fri) by martinfick (subscriber, #4455) [Link]

What would be interesting would be to see these number for other OSs! Would they be much higher by virtue of more drivers in linux (perhaps not than windows?). Would the filesystems be proportionally way less on other OSes also contributing to a "smaller" (not really, just %) core on linux?

Kernel development statistics for 2.6.35

Posted Jul 16, 2010 4:24 UTC (Fri) by Eliot (guest, #19701) [Link] (2 responses)

I hope the text can be amended so my name is spelled correctly for my brief moment of fame :)

"The company AudioScience Inc. sneaks onto the list of changes due to all of the work that Eliot Blennerhassett has been doing on the asihpi sound driver."

Kernel development statistics for 2.6.35

Posted Jul 16, 2010 4:33 UTC (Fri) by gregkh (subscriber, #8) [Link]

Ick, so sorry about that. Hopefully the editor can make that change.

Again, my apologies.

Kernel development statistics for 2.6.35

Posted Jul 16, 2010 4:46 UTC (Fri) by jake (editor, #205) [Link]

> I hope the text can be amended so my name is spelled correctly for my
> brief moment of fame :)

Our apologies! Fixed now.

jake

Canonical?

Posted Jul 18, 2010 21:12 UTC (Sun) by mikov (guest, #33179) [Link] (3 responses)

Is Canonical involved at all in kernel development? I see Mandriva, who is supposed to be almost dead, but Canonical is missing completely.

Canonical?

Posted Jul 18, 2010 21:33 UTC (Sun) by rahulsundaram (subscriber, #21946) [Link] (2 responses)

That was covered and debated at

http://lwn.net/Articles/298864/

Canonical?

Posted Jul 18, 2010 22:24 UTC (Sun) by mikov (guest, #33179) [Link] (1 responses)

Wow, that is a can of worms! :-) I don't know how I missed that discussion originally. I see that not much has changed since 2008 in that respect.

Canonical?

Posted Jul 19, 2010 7:11 UTC (Mon) by hppnq (guest, #14462) [Link]

I don't know how I missed that discussion originally.

Wow. You didn't.


Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds