Linus Torvalds this week released the Linux 4.0 kernel — a relatively small release that still holds some interesting new features. It’s also a milestone for the project in a few unintentional ways, which Torvalds spells out in his 4.0 release notes.
First, rather than rollover the kernel version from the previous release, 3.19 to 3.20, Torvalds in February polled the community and determined that a slim majority favored pushing the new version to 4.0. (The same poll in which the community voted in the 4.0 release code name, “Hurr Durr I’ma Sheep.”)
The version change itself has little significance, Torvalds writes. But looking at the git commits, he found some interesting numerology. The project surpassed 500,000 commits for the first time in this new version as well as the 4 million git object limit.
“Interestingly (if you look for numeric patterns), Linux 3.0 was when we crossed a quarter million commits and 2 million git objects, so there’s a nice (and completely unintentional) pattern there when it comes to the kernel git repository,” Torvalds wrote.
This is especially significant considering that last week was also the 10-year anniversary of the first Git release, created by Torvalds. The pace and volume of Linux kernel development have increased dramatically since the project moved from Bitkeeper (BK) to Git – a fact that’s evident in this 4.0 release.
“During all of the BK years we only got 65k commits. Of course, we only used BK for three years, and we’ve now been on git for almost exactly ten years, but still – it shows how the whole development process has really sped up a _lot_,” Torvalds wrote.
When it comes to size and features, Linux 4.0 was a relatively small release, though it still had more than 10,000 commits. The 3.15 development cycle was the largest in recent history with 13,722 changes accepted into the kernel, according to the 2015 Who Writes Linux report on kernel development.
“We’ve definitely had bigger releases (and judging by linux-next v4.1 is going to be one of the bigger ones),” Torvalds wrote in his release notes. “This is very much a “solid code progress” release.”
Linux 4.0 Fixes and Features
The most significant new addition is the foundation code for live kernel patching, which allows critical bugs to be fixed on production servers without rebooting the kernel. When the feature integration is complete in future kernel versions, it will represent years of collaboration between SUSE and Red Hat to merge the code from their respective live-patching projects, kGraft and Kpatch, into the upstream kernel.
In addition to various bug fixes and driver additions, such as improved Linux support on Playstation 3, other new features in 4.0 include:
– Filesystem updates including Btrfs and PNFS (parallel NFS) block server support
– dm-crypt encryption mechanism scalability improvements
– addition of lazytime, a file system mount option that improves system performance (See Linux User and Developer for more information.)
– kernel address sanitizer for detecting memory issues in the kernel
– VirtIO 1.0 support for virtual devices.
The full list of new drivers and features will be up shortly on Kernel Newbies. In the meantime, see Phoronix for more details.