我在這個週末寫的錯誤,英特爾現在在 Linux 下禁用 Alder Lake 和 Raptor Lake 的 PCID,直到發布更新的 CPU 微代碼以解決啟用進程上下文標識符時 INVLPG 指令的問題,現在已合併到 Linux 6.4。
正如我昨天測試和寫的那樣,好消息是英特爾 ADL/RPL 禁用 PCID 不會因此導致任何顯著的性能變化。週一,帶有此更改的拉取請求已提交給 Linus,隨後 合併。
“請為 6.4-rc4 提取單個 x86/緊急更改。這解決了 INVLPG 指令可能錯過使內核 TLB 條目無效的問題。我確實希望最終能對此進行微代碼修復。當微代碼版本號已知時,我們可以繞回並將它們添加到模型表中以禁用此解決方法。”
它被標記為向後移植到現有的穩定內核系列,同時也可以在Alder Lake 和 Raptor lake 通過使用“nopcid”內核選項啟動。
可以通過在/proc/cpuinfo 的標誌中查找“pcid”來驗證您的系統是否啟用了進程上下文標識符。