Linux 5.15 Is A Very Exciting Kernel For AMD
Linux 5.15 is particularly exciting for AMD users, just not for CPUs and Radeon GPUs but also on the Ryzen client side and EPYC server front too. Linux 5.15 has a lot to offer with AMD improvements, which is great to see and comes with ramping up their Linux hires.
All of the notable AMD changes I am aware of that are new to Linux 5.15 include:
- The AMD Van Gogh APU audio driver for the AMD ACP 5.x audio co-processor was merged. This is good news for the Steam Deck and other Van Gogh designs.
- An important change/fix in the AMD s2idle code concerning suspend/resume behavior. Thanks to being able to coordinate internally at AMD, it was discovered the existing s2idle behavior didn't match that of Windows and now with this fix select HP ENVY laptops and other laptops should hopefully see more reliable suspend/resume behavior.
- AMD Zen 3 APU temperature monitoring support is finally in place... Unfortunately it took until months after launch and the basic patch was left up to the community this time. In any case, with Linux 5.15+ the new Zen 3 APUs can enjoy working temperature monitoring under Linux.
- Yellow Carp APU temperature monitoring support. Making this rather exciting is that the Yellow Carp APUs have yet to launch! This is presumably the Ryzen 6000 series mobile SoCs. With being used to seeing AMD late in submitting new k10temp additions after-launch, it's great finally having AMD submit the basic temperature monitoring support ahead of launch...
- Optimized C3 entry handling for when AMD CPUs are entering the C3 power sleep state. The optimization is that the kernel doesn't need to flush the caches before entering C3 due to the possible performance impact for other cores that are sharing caches. Intel CPUs have long enjoyed this behavior under Linux and even Zhaoxin and Centaur CPUs have had this in place for Linux while the AMD optimization is only now in place.
On the AMD EPYC/server side specifically there is:
- The AMD PTDMA driver has finally landed with the patches for that undergoing public review since 2019. That Pass-Through DMA support is for high bandwidth memory-to-memory and I/O copies for NTB devices.
- The AMD SB-RMI driver is also new. This is for the sideband remote management interface for AMD EPYC server platforms. This driver living within the HWMON area provides for reading the CPU socket power consumption, power limit, and maximum power limit plus setting/limiting the maximum power limit of a CPU socket. This SB-RMI interface coordinates with the BMC on server platforms with this seemingly another addition with AMD's growing OpenBMC support focus.
- The AMD KVM code now supports 5-level paging for handling greater memory capacities. Thus it's looking like AMD EPYC "Genoa" processors will be supporting 5-level paging.
On the AMD Radeon graphics side:
- A number of new RDNA2 PCI IDs were added pointing to a possible RDNA2 graphics card refresh or other rumors around Radeon RX 7000 series being a mix of existing and new GPUs.
- AMD Cyan Skillfish support for a Navi 1x APU design yet to be launched.
- AMDGPU is now leveraging VKMS for improving its virtual display code.
- There are also fixes to AMDGPU power management, HDMI FreeSync, PCI Express link handling, and many other fixes.
Basically, a lot is going on in the AMD Linux space at the moment. Linux 5.15-rc1 should be out this evening while the stable kernel release will be out about two months from now.
For as good as all the changes in Linux 5.15 are, they will need to keep up and continue working early on new hardware support particularly from the CPU side if they wish to match Intel's stellar open-source upstream reputation around early hardware support and new features. So we'll see how their Linux improvements pan out over the longer term in the kernel cycles ahead.