Linux 5.10 As An LTS Kernel Comes Just In Time For AMD EPYC "Milan"

Written by Michael Larabel in Hardware on 18 December 2020 at 03:30 PM EST. 2 Comments
HARDWARE
AMD noted that EPYC Milan "Zen 3" server processors would be shipping to select customers this quarter ahead of the formal launch in Q1. That's accurate with at least one enterprise now making public inquiries over Linux kernel versions for the EPYC 7003 series. The recent Linux 5.10 kernel debut being a Long-Term Support (LTS) release is coming just in time for those users.

One of the main and ongoing advantages Intel has on the server side for many years is that its Linux hardware enablement is generally spot on and introduced well ahead of products shipping (that is even true for cases where the Intel hardware ships on-schedule). From Linux kernel additions for not only new hardware enablement as far as core support is concerned but also adding in new instruction set extensions and other extra features so they can be enjoyed by customers at-launch with a mainline Linux kernel -- as well as generally the likes of recent enterprise Linux releases and other distributions, recent LTS kernels, etc as opposed to just the bleeding-edge/latest kernel.

Intel has developed a nice rhythm over the past nearly two decades that the timing for their various Linux upstreaming efforts generally works out favorably for customers in having broad software support at launch without many headaches or version requirements to worry about for users -- especially in the case of servers/workstations but generally for consumer products as well (the recent Intel discrete graphics being among the slip-ups / less timely enablement as well as more niche features like Intel Key Locker on Tiger Lake). For months already Intel has been on to upstreaming various elements of Sapphire Rapids support that likely won't ship until into 2022. Besides the kernel, their GCC / LLVM compiler upstreaming also remains punctual with that being even more important especially for the GNU Compiler Collection that ships annual major releases and often takes upwards of six months before finding its way into the likes of Ubuntu releases.

AMD, on the other hand, has been improving their Linux/open-source timing with more recent Zen iterations but still isn't on such a rhythm to that of Intel's Linux enablement efforts. It's something I've routinely noted with new hardware launches across product segments. One recent example is the basic "Znver3" support coming out a few weeks after the Ryzen 5000 series first shipped. Sure, it's still ahead of EPYC Milan, but doesn't yet have any optimized scheduler model or the like for taking full use of Zen 3. But more pressing is that GCC 11 release won't be out as stable until March~April or until months later being found out-of-the-box on distributions like Ubuntu 21.10. Or there are also other examples such as around SEV support that didn't go mainline until well after hardware first shipped, the thermal and power support being behind until very recently, and numerous other instances of less than ideal timing for their open-source support.

From AMD's perspective, it likely amounts to engineering resources and then the obstacles around code review / legal and obtaining clearance for publishing. Some may not be enthusiastic about open-source in this context as well for that it could reveal any secrets/surprises of the upcoming hardware, but it's something Intel has learned to manage effectively. Hopefully all of these will continue to be improved upon especially with AMD continuing to grab measurable marketshare in areas where Linux dominates.

The latest example on the timing aftereffect is with the EPYC 7003 series and kernel support for early customers. An Uber engineer posted publicly this week about their work on the AMD Milan platform and using Debian Linux. They noted there are patches for performance and security improvements but not yet in LTS kernels like the existing Linux 4.14 / 4.19 / 5.4 cycles. Uber -- like many enterprises -- prefer the Linux LTS kernel series to base their customized builds on due to the fact of those kernel versions being maintained for at least five years. Thus the LKML post was inquiring about seeing these AMD Milan patches for performance/security back-ported to the Linux LTS kernels.

The response from upstream kernel maintainers though was that, no, the AMD patches won't be back-ported to the prior LTS kernels... But coming out just a few days ago was Linux 5.10 and it happens to be the Long Term Support kernel for the year 2020. So the suggestion is to just use Linux 5.10 if caring about "LTS" for EPYC Milan.

Understandably though that may not be a good solution for those concerned about production reliability considering Linux 5.10 came out less than one week ago... In this case, Linux 5.10 didn't even last 24 hours before being succeeded by Linux 5.10.1 due to show-stopping RAID issues. So for cases where uptime is critical, using such a new kernel often does not sit well especially after a very active kernel cycle that was one of the largest in recent times.

Over the months ahead Linux 5.10 LTS will surely stabilize further and in time be comfortable for an enterprise setting but for early Milan customers it may be a bit too fresh. With Linux 5.10 LTS though does have all the recent Milan patches reportedly in the areas of RAS and performance that led to the original kernel mailing list activity by Uber. We'll also see if Red Hat or other distribution vendors like SUSE end up back-porting any of the Milan patches themselves to their own kernel flavors in upcoming releases.

Given the easy 20%+ uplift out of the Ryzen 5000 series we have seen under Linux, with the AMD EPYC 7003 series I am downright super excited from the hardware perspective and can hardly wait to see the performance considering EPYC 7002 "Rome" series has been dominating so well now for nearly the past year and a half. As I am accustomed to running Linux Git and other bleeding edge components, the prospects of Linux 5.10 LTS usage don't bother me individually and more than likely will be using something even newer anyways as with Linux 5.11 there is already Zen 3 PowerCap RAPL support and other goodies. But long story short, hopefully moving ahead for Zen 4 and beyond we will see better timing of AMD's Linux enablement work. It's also worth noting that the support being called out by Uber isn't about patches needed for basic functionality but rather for better RAS and performance -- those wanting or needing to stick to an older kernel series will likely be just fine albeit without those extras, but we'll know more once Milan launches and we have our hands on the hardware for a full run-down on the Linux state and software support requirements.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week