Linux 3.19 was released, to be followed by either a version 3.20 or 4.0. Also, the 2015 Linux Kernel Report reveals a growing rate of kernel contributions.
Linux kernel 3.19 was released on Feb. 8 (see farther below). Meanwhile, the next release has a good chance of being renamed from Linux 3.20 to Linux 4.0. As reported by LinuxPlanet, Linus Torvalds posted an entry on Google+ saying he is opening up the question of naming to the community before he makes a decision.
“I’m once more close to running out of fingers and toes,” wrote the Linux creator. “So — continue with v3.20, because bigger numbers are sexy, or just move to v4.0 and reset the numbers to something smaller?”
So far, Linux 4.0 has been outscoring Linux 3.20 among community voters, says LinuxPlanet. Like the Linux 3.0 kernel released in 2011, the 4.0 (or 3.20) release will be more or less like any other incremental release. There is one major new feature, however: live kernel patching.
A joint development of enterprise distro vendors Red Hat and SUSE, live kernel patching is inspired by MIT’s Ksplice. Red Hat and SUSE announced their respective technologies around the same time, and found so many similarities they decided to merge their efforts.
The live patching (code redirection) feature includes an API for kernel modules containing the patches, as well as an API/ABI for userspace that lets developers work with them. The technology is said to use existing kernel infrastructure, such as ftrace, as much as possible. Initially it supports x86, but is being ported to other architectures.
The new Linux 3.19 kernel, meanwhile, improves support for Btrfs file system scrubbing, adds RAID hotswap features, and offers Intel memory buffering enhancements, as well as Device Tree Overlays to ease development of the expansion buses found on community-backed SBCs. Support for several new processors has also been added.
According to Kernelnewbies.org, major enhancements in the just released Linux 3.19 include:
- Btrfs scrubbing support
- Fast device replacement with RAID 5 and 6
- Intel Memory Protection Extensions that help to stop buffer overflows
- AMD HSA architecture support
- Support for the debugging ARM Coresight subsystems
- Altera Nios II CPU architecture
- Networking infrastructure for routing and switching offloading
- Device Tree Overlays to support expansion buses found on consumer SBCs like the BeagleBone or Raspberry Pi
- Support for hole punching and pre-allocation in NFSv4.2
- Android binder moved from staging area to stable
(click to enlarge)
2015 Linux Kernel Development report
The Linux 3.19 release was followed by the publication of the Linux Foundation’s quasi-annual Linux Kernel Development report, which reveals key stats and trends in kernel development. Since the previous Linux Kernel Development report from Sept. 2013, which followed the release of 3.10, major new Linux kernel features are said to include:
- O_TMPFILE option for the creation of temporary files
- NFS 4.2 support
- Virtualization support on ARM64 with Xen and KVM
- Zswap compressed swap cache
- Support for using GPU rendering engines independently of a graphical display
- Multiqueue block layer for improved high-end disk I/O performance
- Nftables firewall to eventually replace iptables
- Realtime earliest-deadline-first scheduler
- Numerous networking improvements
- Major reworking of the control group subsystem
- File sealing support for secure interprocess communication (IPC)
- Overlayfs union filesystem’
- Hundreds of new drivers, thousands of fixes
According to the new report, more than 96,000 Linux kernel changesets have been merged from 4,169 individual developers representing approximately 518 corporations since Sept. 2013. All these numbers have risen since the earlier report. Some 1,458 developers and 239 companies contributed to the Linux 3.18 kernel released in December.
The Linux kernel project, which oversees the largest and most important component of the many modules that comprise a typical “Linux system,” continues to be the largest and most open source project in the world. “There may be no other examples of such a large, common resource being supported by such a large group of independent actors in such a collaborative way,” says the report.
Faster pace, larger kernel
The accelerating pace of patch contributions merged into the Linux kernel reflects improved testing infrastructure, says the report. For example, during the last 17 months, the “zero-day build and boot robot” self-test framework alone found nearly 500 bugs, all of which were fixed. The zero-day bot is expected to improve over the next year, along with other testing technologies.
(data source: Linux Foundation)
Since the release of the 3.10 kernel, patches have been merged at an average rate of 7.71 per hour, says the LF. The speedup has helped accelerate kernel development cycles, which have dropped from about 70 days in 2013 to just under 66 days.
The Linux kernel was comprised of only about 10,000 lines of code when Linus Torvalds released the first version in 1991, but has now grown from 17 million lines in Sept. 2013 to 19 million today. It might have been more than that if not for a rare drop in total lines of code in the 3.17 release when the kernel community stripped out a variety of old and unmaintained drivers. The only other time the kernel has shrunk was with the release of kernel 2.6.36 in 2010.
When it comes to the rate of kernel releases and the growth in kernel size, more is not always better. The consensus opinion in the community is that the current six to 12 week cycle is ideal. If the cycle is too short, there’s not enough time for testing, says the LF.
Meanwhile, Torvalds has long warned about the kernel growing too bloated, which led to the removal of drivers. Then again, to keep up with all the developments from server virtualization to new embedded technologies the kernel will probably need to keep growing.
More developers, but fewer volunteers and sponsors
Since Sept. 2013, nearly 200 more developers have participated in each kernel development cycle, says the LF. Since the kernel development team moved to the Git repository system with Linux 2.6.11 in 2005, thereby enabling more accurate tracking, some 11,695 developers have contributed, working for a “minimum” of 1,230 companies, says the report.
The number of contributions in which the labor was primarily paid for by a company has grown slightly, representing “well over 80 percent,” says the report. Submissions from unpaid developers, meanwhile, continues its slow decline of many years, dropping from 14.6 percent in the 2012 report to 13.6 percent in 2013 and now 11.8 percent.
(source: Linux Foundation)
The report suggests that this is not so much due to a lack of volunteer spirit as the fact that Linux kernel developers are in such high demand — good kernel developers don’t stay unemployed for long. “Anybody who demonstrates an ability to get code into the mainline tends not to have trouble finding job offers,” says the report.
Over the years, the number of sponsoring companies has shown overall growth, despite some downticks. The 2009 kernel report, for example, listed nearly 1,000 developers working for more than 200 different corporations, while by the time Linux 3.1 arrived 2013, there were 1,392 developers working for 243 companies.
In 2014 and 2015, however, the number of companies dropped slightly compared to 2013. On Linux 3.18, for example, 239 companies contributed, compared to 241 on Linux 3.17.
There continues to be a large disparity between the volume of contributions submitted by sponsoring companies. The top 10 sponsors today make up nearly 57 percent of total contributions, says the report. The leading contributor — the 12.4 percent who list themselves as “none” — refers primarily to unaligned, unpaid contributors.
Since Sept. 2013, Intel has taken over the second-place slot from Red Hat, with 10.5 percent and 8.4 percent of contributions, respectively. Texas Instruments has dropped from fourth place to 10th, perhaps reflecting the chipmaker’s retreat from the smartphone market. Meanwhile, Linaro and Samsung continue to rise on the chart, with 5.6 percent and 4.4 percent, respectively, followed by “Unknown,” IBM, SUSE, “Consultants,” and TI.
Google, which has been increasing its contributions over the years, dropped to 12th place behind Vision Engraving Systems. After Google comes chipmakers Renesas and Freescale.
Interestingly, two smaller open source organizations have jumped into the next two slots ahead of tech giants like Oracle, AMD, Nvidia, Broadcom, and Huawei. These include our embedded Linux friends at France-based Free Electrons, and the FOSS Outreach for Women, which recently changed its name to Outreachy. The organization is primarily backed by the GNOME Foundation, with fellowship support coming from the LF, Intel, and Codethink.
Individual contributions also vary significantly. Typically about a third of contributors contribute only one patch per release, but since the 2.6.11 release in 2005, the top 30 developers have contributed about 17 percent of the total. Since the 2013 report, contributors who have represented 1 percent or more of contributions include H. Hartley Sweeten (2.2 percent), Sachin Kamat, Jingoo Han, and Laurent Pinchart.
Perhaps just as important as the developers are the kernel maintainers who approve code. These “non-author signoff” contributors have been led since the last report by Greg Kroah-Hartman with 14.4 percent, David Miller with 8.6 percent, and Mark Brown and Andrew Morton, each with 4.1 percent. The companies supporting such signoffs are increasingly linked to the mobile and embedded sectors, says the report.
(source: Linux Foundation)
Interestingly, the total number of patches approved by Torvalds — 329, or 0.4 percent of the total — “continues its long-term decline, [reflecting] the increasing amount of delegation to subsystem maintainers who do the bulk of the patch review and merging,” adds the LF’s report.
The 2015 Linux Kernel Development report may be found here (requires free LF registration).