AMD Ryzen on Linux requires newer kernel for best experience

Posted on Tuesday, February 28 2017 @ 13:24 CET by Thomas De Maesschalck
AMD  logo
There's been quite some buzz about the fact that you need Windows 10 if you want to use the latest processor generations from AMD and Intel. Whether you pick a Kaby Lake or a Ryzen processor, there is no official driver support for any version of Windows that is not Windows 10. Of course, there's nothing to stop you from installing Windows 7 on a Ryzen or Kaby Lake system but without proper drivers you will not get the optimal experience in terms of performance and stability.

Now we hear it's pretty much the same thing on Linux. Phoronix reports Ryzen really likes a newer Linux kernel and that you need Linux kernel 4.10 (or at least Linux 4.9.10) for proper Ryzen support and performance. The site says users running Ubuntu 16.10 or Ubuntu 16.04.2 should generally be OK but there could be some missing or broken functionality. In particular, older versions of the kernel will have issues with multi-threaded performance due to broken SMT scheduling:
I was pointed out in particular to this kernel commit that only landed in early February: "x86/CPU/AMD: Fix Zen SMT topology." It notes in the commit message, "After: a33d331761bc ("x86/CPU/AMD: Fix Bulldozer topology") our SMT scheduling topology for Fam17h systems is broken, because the ThreadId is included in the ApicId when SMT is enabled. So, without further decoding cpu_core_id is unique for each thread rather than the same for threads on the same core. This didn't affect systems with SMT disabled. Make cpu_core_id be what it is defined to be." That mentioned regression was introduced only in January but had been pulled back into stable kernel point releases from Linux 4.6 and newer. This fix for the (Ry)zen SMT topology is in Linux 4.10 and was back-ported to Linux 4.9.10+ for those still riding the 4.9 kernel.
So basically, the newer the better. The site also points out there's still some work to be done to get Linux ready for the AMD Ryzen based motherboards. Some mainboards use the Realtek ALC1220 audio codec and that won't be supported until Linux 4.11.


About the Author

Thomas De Maesschalck

Thomas has been messing with computer since early childhood and firmly believes the Internet is the best thing since sliced bread. Enjoys playing with new tech, is fascinated by science, and passionate about financial markets. When not behind a computer, he can be found with running shoes on or lifting heavy weights in the weight room.



Loading Comments