Linux 6.4 Lands Intel Alder Lake / Raptor Lake Workaround For INVLPG/PCID Bug
The bug I wrote about this weekend where Intel is now disabling PCID for Alder Lake and Raptor Lake under Linux until updated CPU microcode is issued for addressing an issue with the INVLPG instruction when Process Context Identifiers are enabled, has now been merged to Linux 6.4.
The good news as I tested and wrote about yesterday is the Intel ADL/RPL disabling of PCID isn't causing any notable performance changes as a result. On Monday the pull request with this change was submitted to Linus and subsequently merged.
It is marked for backporting to existing stable kernel series while can also achieve the same behavior on Alder Lake and Raptor lake by booting with the "nopcid" kernel option.
Whether Process Context Identifiers are enabled on your system can be verified by looking for "pcid" in the flags of /proc/cpuinfo.
The good news as I tested and wrote about yesterday is the Intel ADL/RPL disabling of PCID isn't causing any notable performance changes as a result. On Monday the pull request with this change was submitted to Linus and subsequently merged.
"Please pull a single x86/urgent change for 6.4-rc4. This works around and issue where the INVLPG instruction may miss invalidating kernel TLB entries. I do expect an eventual microcode fix for this. When the microcode version numbers are known, we can circle back around and add them the model table to disable this workaround."
It is marked for backporting to existing stable kernel series while can also achieve the same behavior on Alder Lake and Raptor lake by booting with the "nopcid" kernel option.
Whether Process Context Identifiers are enabled on your system can be verified by looking for "pcid" in the flags of /proc/cpuinfo.
1 Comment