Linux Kernel 5.19s New Features Overshadowed By Rumors of 6.0
On July 31st, 2022, Linus Torvald, creator and maintainer of the Linux kernel, released version 5.19, and while it would be generous to say the release rocked the Linux developers’ world, there were some extremely useful new features added in the latest iteration of the kernel.
In particular, Linux 5.19 significantly enhances the kernel’s networking capabilities, both wired and wireless.
The big headline of the iteration is that Linux 5.19 comes with BIG TCP support, allowing bigger TSO/GRO packet sizes. That should give you network speeds up to 400Gbit/s. And of course, the larger TSO/GRO packet sizes lets you use IPv6, which given the encroaching problem of IPv4 address exhaustion, feels both timely and actively useful, rather than a gimmick-addition.
There are several improvements to Multipath TCP (MPTCP) in this iteration too, and the Qualcomm ath11k Wi-Fi driver is now able to support Wake-on-LAN.
That’s Not All, Folks!
In many new iterations, that would be enough to make the developer community happy – the BIG TCP upgrade particularly. But there are a few more treats for developers in this iteration. It adds a new driver for pureLiFi (light-based networking). Data networking – by light beam. The fact that that isn’t the headline of this release goes some way to showing how important the BIG TCP support is. And Linux 5.19 also supports the Realtek 8852ce chipset, MediaTek T700 modems and Renesas RZ/V2M.
That’s a fairly large bundle of upgrades, and there’s something in the mix for lots of different Linux developers to get their teeth into. Above all though, the BIG TCP support opens up the kernel to really high performance network, and to cloud-based data centers. If you’re dealing with a huge amount of networking traffic, July 31st is a red letter day, because the BIG TCP support should make your life significantly more straightforward. But the new specification is by no means done yet.
Arms and the Developer
At the launch of Linux 5.19, Torvalds also explained that the new iteration also comes with multiple Arm extensions, a development that has been in the pipeline for some time, but has somehow never made it to a full iteration release before now.
The release also includes a whole package of tweaks, updates, and fixes for Intel architecture, including initial support for the LoongArch CPUs, and for Run-Time Average Power Limiting (RAPL) on Raptor and Alder Lake CPUs. Instruction-Based Samplng on the AMD Zen 4 is now at least initially supported, as is a new IFS driver, to detect issues with your hardware down at circuit level. Issues with laptop overheating and the dreaded battery drain now have fixes on the Skylake through Comet Lake CPUs. And in the other direction, a.out is no longer supported in Linux 5.19.
In terms of graphics and storage, there are improvements for the Apple M1 NVMe SSD controller, while the AMD RDNA, CDNA, and Intel’s Raptor Lake and DG2/Alchemist all get updates. The addition of Zstd compression support will make life easier, and the smoothing out and bumping up of the Direct Rendering Manager (DRM) subsystem by almost a half a million lines of code has to be a positive.
And finally, the cutesy stuff that’s never high on a release’s To Do List, but makes a world of difference to users gets a significant boost this time around, with things like a much-improved random number generator, support for Keychron’s wireless mechanical keyboard function keys, and a tweak that allows the Wacom driver to support three-button pens and/or touch.
For a late stage iteration, that all amounts to a fairly impressive upgrade from start to finish, addressing both substantial issues (like the BIG TCP support), upgrades to access for several set-ups, and all the way down to unlocking Keychron’s function keys.
It’s perhaps a little perverse then that the focus of much of the media is on what’s coming next.
Rumors of Rust
Having outlined all these upgrades, support additions, changes, and new features, Torvalds mentioned that there probably wouldn’t be a Linux 5.20 coming down the line. The next iteration, he said, would probably be known as Linux 6.0.
Immediately the room – and the world of speculative technology journalists – began ignoring all the impressive upgrades that were actually in version 5.19, and turning their attention to the reason for the jump. Will Linux 6.0 be something radically different from 5.19? Will it stay on the same iteration timeline? Will it be a root-and-branch redraft to take the kernel forward in new ways?
Bottom line, nobody really knows as yet, because Linux 5.19 was just released. But already, there’s speculation that in fact, the Linux 6.0 may just be a number-change of convenience, rather than signifying any great quantum leap in capabilities.
The big thing that’s being rumored for Linux 6.0 though is the addition of some early phase Rust code. That might be a significant addition, and might well warrant the shift from the Linux 5 iterations to Linux 6. Rust’s rapidly-growing reputation for flexibility, performance, and above all, memory safety would not only get a massive boost from inclusion in Linux 6, it would allow Linux developers to get their teeth stuck into its potential and capabilities like never before.
It’s worth taking all such speculation with a grain of salt until whenever Linux 6.0 gets its release, but the whisper of Rust code is already beginning to excite developers and technology journalists alike. But for now, Rust code remains the ice cream you may get tomorrow if you’re good. The BIG TCP support in Linux 5.19 is the real story of the release of Linux 5.19, and there are plenty of ways to use it that should keep developers happy while they wait for the release of Linux 6.0.
24 March 2023
24 March 2023