Linux Fix Coming For Recent Stuttering On AMD Ryzen Due To fTPM RNG

Written by Michael Larabel in AMD on 14 February 2023 at 07:20 PM EST. 37 Comments
AMD
Last year AMD issued an advisory around "intermittent system stutter" when engaging the Firmware Trusted Platform Module "fTPM" with newer Ryzen systems running Windows 10 and Windows 11. While at first this only manifested on Windows, with Linux 6.1+ enabling the AMD fTPM RNG by default when present, this system stuttering issue has begun affecting Linux users too.

AMD's support article on the intermittent system stutter with the fTPM enabled and running on Windows 10/11 was attributed to "select AMD Ryzen system configurations may intermittently perform extended fTPM-related memory transactions in SPI flash memory (“SPIROM”) located on the motherboard, which can lead to temporary pauses in system interactivity or responsiveness until the transaction is concluded."


AMD recommended affected customers update their motherboard system BIOS or instead opt to use any hardware TPM solution in place of the fTPM. With BIOS updates the issue should be fixed when running AMD AGESA 1207 or newer.

Unfortunately not many system vendors -- particularly laptop manufacturers -- have shipped BIOS updates to address this issue. Now that Linux 6.1+ is using the AMD fTPM's random number generator by default, Linux users have begun reporting system stuttering issues.

This issue has been discussed at length the past two weeks via this kernel bug report and a patch is now on the way to the mainline kernel for resolving it. The patch disables the hardware random number generator from being used on systems with fTPM versions known to be problematic.

AMD Linux engineer Mario Limonciello explained with today's kernel patch sent directly to Linus Torvalds:
AMD has issued an advisory indicating that having fTPM enabled in BIOS can cause "stuttering" in the OS. This issue has been fixed in newer versions of the fTPM firmware, but it's up to system designers to decide whether to distribute it.

This issue has existed for a while, but is more prevalent starting with kernel 6.1 because commit b006c439d58db ("hwrng: core - start hwrng kthread also for untrusted sources") started to use the fTPM for hwrng by default. However, all uses of /dev/hwrng result in unacceptable stuttering.

So, simply disable registration of the defective hwrng when detecting these faulty fTPM versions.

The patch will hopefully be picked up by Torvalds this week ahead of the Linux 6.2 stable debut on Sunday. It should also be back-ported to the Linux 6.1 LTS series.
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