Testing Intel Raptor Lake With PCID Disabled & A Move Made By FreeBSD Last Year
With Linux going to disable PCID support on Intel Alder Lake and Raptor Lake while waiting for mitigated microcode due to a CPU bug, I was curious if this disabling of Process Context Identiifiers would have any overall performance implications. So I ran some benchmarks this weekend.
From yesterday's article on this Linux patch for disabling PCID on Alder Lake and Raptor Lake, an interesting anecdote was raised by a Phoronix reader. While only this week were Intel engineers preparing the Linux kernel patch for this change, on the FreeBSD side they made a similar kernel change all the way back at the end of 2022. Phoronix reader jrtc27 pointed out this patch:
Anyhow, with the Linux patch for disabling PCID on Alder Lake and Raptor Lake, I was curious if on an otherwise out-of-the-box Linux setup if it would result in any performance loss for end-user workloads. Long story short, it's not.
I ran some benchmarks with the Intel Core i9 13900K on Ubuntu 23.04 and then again with the "nopcid" kernel option to have the same effect as the pending Linux kernel change.
Across 83 benchmarks overall there was no noticeable change in performance when running the i9-13900K Raptor Lake with PCID forced off.
In only a handful of those 83 tests was there some minor movement when turning off PCID support. All the benchmarks in full and system details for those curious via this result page.
So long story short, it doesn't look like PCID being turned off for Alder Lake and Raptor Lake until there is updated CPU microcode in the future for this bug will lead to any noticeable performance changes for end-users based on this initial testing.
From yesterday's article on this Linux patch for disabling PCID on Alder Lake and Raptor Lake, an interesting anecdote was raised by a Phoronix reader. While only this week were Intel engineers preparing the Linux kernel patch for this change, on the FreeBSD side they made a similar kernel change all the way back at the end of 2022. Phoronix reader jrtc27 pointed out this patch:
amd64: for small cores, use (big hammer) INVPCID_CTXGLOB instead of INVLPG
A hypothetical CPU bug makes invalidation of global PTEs using INVLPG in pcid mode unreliable, it seems. The workaround is applied for all CPUs with small cores, since we do not know the scope of the issue, and the right fix.
Anyhow, with the Linux patch for disabling PCID on Alder Lake and Raptor Lake, I was curious if on an otherwise out-of-the-box Linux setup if it would result in any performance loss for end-user workloads. Long story short, it's not.
I ran some benchmarks with the Intel Core i9 13900K on Ubuntu 23.04 and then again with the "nopcid" kernel option to have the same effect as the pending Linux kernel change.
Across 83 benchmarks overall there was no noticeable change in performance when running the i9-13900K Raptor Lake with PCID forced off.
In only a handful of those 83 tests was there some minor movement when turning off PCID support. All the benchmarks in full and system details for those curious via this result page.
So long story short, it doesn't look like PCID being turned off for Alder Lake and Raptor Lake until there is updated CPU microcode in the future for this bug will lead to any noticeable performance changes for end-users based on this initial testing.
Add A Comment