The Ryzen 3000 Boot Problem With Newer Linux Distros Might Be Due To RdRand Issue
As outlined yesterday, AMD's Ryzen 3000 processors are very fast but having issues booting newer Linux distributions. The exact issue causing that boot issue on 2019 Linux distribution releases doesn't appear to be firmly resolved yet but some are believing it is an RdRand instruction issue on these newer processors manifested by systemd.
For those that missed my launch day article, check it out for more details and then all the benchmarks for when running very performant on the likes of Ubuntu 18.04 LTS where the issue does not occur. What people are jumping on today are the old reports of AMD RdRand problems for using this hardware RNG instruction causing issues on older pre-Zen2 processors. It is possible though the RdRand support regressed even further and thus in worse shape with Zen 2, but I haven't seen that officially acknowledged by AMD nor if it firmly addresses the issue.
It does make some sense though as outlined yesterday newer Linux 5.0~5.2 kernels do boot on older Ubuntu 18.04 LTS era distributions, which are on older systemd releases. There is a change in the latest systemd that does help that was merged in May to eat bad RdRand values on AMD CPUs.
I was aware of the AMD RdRand issue on older CPUs and among my attempted debugging of the problem pre-launch was trying to blacklist the x86_64 crypto modules, AESNI_Intel, and related bits to no avail. But it's possible that this change made by systemd in May could workaround the issue. There hasn't been a new systemd release since April which would explain why rolling-release distributions like Arch Linux and Clear Linux still aren't able to boot these newest AMD processors.
Anyhow, right now it's looking like borked RdRand support is a feasible explanation if indeed accurate. There is the systemd workaround in systemd Git but hopefully it's something that can be addressed via a firmware/microcode update as otherwise no modern Linux distributions will be booting properly for these new AMD processors until the next rounds of releases -- it's unlikely we'd see say a Fedora or Ubuntu re-spin simply with the new systemd build integrated. But at least it it can be worked around in the microcode/firmware would allow existing Linux distributions to begin playing nicely with these shiny and powerful new AMD boxes.
More details when I have them; I'm away the next two days but will begin resuming more tests ASAP to try to confirm the RdRand behavior.
For those that missed my launch day article, check it out for more details and then all the benchmarks for when running very performant on the likes of Ubuntu 18.04 LTS where the issue does not occur. What people are jumping on today are the old reports of AMD RdRand problems for using this hardware RNG instruction causing issues on older pre-Zen2 processors. It is possible though the RdRand support regressed even further and thus in worse shape with Zen 2, but I haven't seen that officially acknowledged by AMD nor if it firmly addresses the issue.
It does make some sense though as outlined yesterday newer Linux 5.0~5.2 kernels do boot on older Ubuntu 18.04 LTS era distributions, which are on older systemd releases. There is a change in the latest systemd that does help that was merged in May to eat bad RdRand values on AMD CPUs.
I was aware of the AMD RdRand issue on older CPUs and among my attempted debugging of the problem pre-launch was trying to blacklist the x86_64 crypto modules, AESNI_Intel, and related bits to no avail. But it's possible that this change made by systemd in May could workaround the issue. There hasn't been a new systemd release since April which would explain why rolling-release distributions like Arch Linux and Clear Linux still aren't able to boot these newest AMD processors.
Anyhow, right now it's looking like borked RdRand support is a feasible explanation if indeed accurate. There is the systemd workaround in systemd Git but hopefully it's something that can be addressed via a firmware/microcode update as otherwise no modern Linux distributions will be booting properly for these new AMD processors until the next rounds of releases -- it's unlikely we'd see say a Fedora or Ubuntu re-spin simply with the new systemd build integrated. But at least it it can be worked around in the microcode/firmware would allow existing Linux distributions to begin playing nicely with these shiny and powerful new AMD boxes.
More details when I have them; I'm away the next two days but will begin resuming more tests ASAP to try to confirm the RdRand behavior.
121 Comments