Linux Landing Kernel Workaround For AMD TLBI Erratum #1718
([AMD] 3 Hours Ago
AMD TLBI Erratum #1718)
- Reference: 0001663018
- News link: https://www.phoronix.com/news/Linux-WA-TLBI-Erratum-1718
- Source link:
AMD TLBI Erratum #1718 was worked around in CPU microcode for addressing a defect in certain Zen CPUs where the Translation Lookaside Buffer Invalidate Instruction use could lead to to stale translation entries. But for those on affected AMD CPUs and not running the updated microcode, a kernel workaround is being introduced with today's Linux 7.3-rc7 kernel and to be back-ported to prior kernel versions.
Affected CPUs by this bug may fail at invalidating a TLB entry when executing the [1]INVLPGB / TLBSYNC instruction pair on older CPU microcode versions. And since late 2024, [2]Linux has been using AMD INVLPGB for kernel TLB flushes to enhance performance as shown in those prior Phoronix benchmarks. With the code being mainlined today, a software workaround to force TLBSYNC is now used to ensure proper behavior for invalidating TLB entries if not mitigated via the microcode.
That's the lone fix with today's [3]x86 fix pull request going into Linux 7.3-rc7 and back-ported to prior kernel versions in the coming days for supported kernel branches over the past two years.
[1] https://www.phoronix.com/search/INVLPGB
[2] https://www.phoronix.com/review/amd-invlpgb-linux
[3] https://lore.kernel.org/lkml/astq2yZg1CBM70Q3@gmail.com/
Affected CPUs by this bug may fail at invalidating a TLB entry when executing the [1]INVLPGB / TLBSYNC instruction pair on older CPU microcode versions. And since late 2024, [2]Linux has been using AMD INVLPGB for kernel TLB flushes to enhance performance as shown in those prior Phoronix benchmarks. With the code being mainlined today, a software workaround to force TLBSYNC is now used to ensure proper behavior for invalidating TLB entries if not mitigated via the microcode.
That's the lone fix with today's [3]x86 fix pull request going into Linux 7.3-rc7 and back-ported to prior kernel versions in the coming days for supported kernel branches over the past two years.
[1] https://www.phoronix.com/search/INVLPGB
[2] https://www.phoronix.com/review/amd-invlpgb-linux
[3] https://lore.kernel.org/lkml/astq2yZg1CBM70Q3@gmail.com/