Two days ago, Linus Torvalds, the principal developer of the Linux kernel announced the release of Linux 5.3 on the Linux Kernel Mailing List (lkml). This major release brings new support for AMD Navi GPUs, the umwait x86 instructions, and Intel speed select. Linux 5.3 also presents a new pidfd_open(2) system call and 16 millions new IPv4 addresses in the 0.0.0.0/8 range. There are also many new drivers and improvements in this release.
The previous version, Linux 5.2 was released more than two months ago. It included Sound Open Firmware project, new mount API, improved pressure stall information and more.
What’s new in Linux 5.3?
pidfd_open(2) system call
The PID (process identification number) issue has been present in Linux, for a long time. The Linux 5.1 release had the pidfd_send_signal which allowed processes to send signals to stable ‘pidfd’ handles, even after PID reuse. Linux 5.2 added the CLONE_PIDFD to clone(2) feature which enabled users to create PIDs that were usable with pidfd_send_signal(2). However, this created problems for Android’s low memory killer (LMK). Thus, Linux 5.3 has a new pidfd_open(2) syscal to complete the functionality needed to deal with the PID reuse issue.
This release also has an added polling support for pidfd to allow process managers to identify when a process dies in a race-free way.
Support for AMD Navi GPUs
Linux 5.3 provides initial support for the AMD Navi GPUs in the amdgpu driver. The AMD Navi GPUs are the new AMD RX5700 GPUs which became available recently. This release also adds support for the core driver,(DCN2) displays, GFX and compute (GFX10), System DMA (SDMA 5), multimedia decode and encode (VCN2) and power management.
Zhaoxin x86 CPU support
This release also supports the Zhaoxin x86 Processors. The report states, “The architecture of the ZX family of processors is a continuation of VIA’s Centaur Technology x86-64 Isaiah design.”
Intel Speed Select support for easier power tuning
Linux 5.3 also adds support for Intel Speed Select, which is a feature only supported on specific Xeon servers. The power management technology allows users to configure their servers for throughput and per-core performance settings. The Intel Speed Select enables prioritization of performance for certain workloads running on specific cores.
16 millions of new IPv4 addresses
This release makes the 0.0.0.0/8 IPv4 range acceptable by Linux as a valid address range and available for 16 million new IPv4 addresses. The IPv4 address space includes hundreds of millions of addresses which were previously reserved for future use. The new IPv4 Cleanup Project has made the addresses usable now.
Utilization clamping support in the task scheduler
This release adds utilization clamping support to the task scheduler. This is a refinement of the energy-aware scheduling framework for power-asymmetric systems (like ARM big.LITTLE) added in Linux 5.0. Per-task clamping attributes can be set through sched_setattr(2). This feature intends to replace the hacks that Android had developed to achieve the same result.
Improvements in Core
- Added support for recvmsg()
- Added support for sendmsg()
- Added support for Submission Queue Entry links.
- New tracepoints added which will be required for energy-aware scheduling testing
It will help the RT patchset to be fully integrated into the mainline kernel in the future merge
Improvements in Memory management
Smaps: It is used to report separate components for the PSS in smaps_rollup proc file. This will help in tuning the memory manager behavior in consumer devices, particularly for the mobile devices commit.
Swap: It uses rbtree for swap_extent instead of a linked list. Thus, it improves swap performance when there are lots of processes accessing the swap device concurrently.
Linux developers are happy with the Linux 5.3 features, especially the new support for AMD Navi GPUs.
Exciting! #Linux #kernel 5.3 is out with Navi GPU support, umwait support, and some other cool power usage improvements, plus supporting new x86 CPUs and a fixing a few old but important bugs in ext4https://t.co/rALIDmvcik
— 🔨💻 Nora 🏳️⚧️ Codes 🚀🦀 (@NoraDotCodes) September 16, 2019
A Redditor comments, “I’m really glad to hear that Linux is catching up to the navi gpus as I just invested in all that and after building a new box in attempting to do GPU pass-through for a straight up Linux host and windows VM realized that things aren’t quite there yet.”
Another user says, “Looks like some people were eagerly waiting for this release. I’m glad the Linux kernel keeps evolving and improving.”
These are some of the selected updates in Linux 5.3. You may go through the release notes for more details.