Benchmarks Of JCC Erratum: A New Intel CPU Bug With Performance Implications On Skylake Through Cascade Lake
For those of you making use of Intel's own Clear Linux operating system, you are already covered. Intel has actually been shipping the patched microcode as part of Clear Linux for a while now and more recently even the patched assembler. So the latest (and still speedy) Clear Linux performance is already covered from the Jump Conditional Code erratum.
This initial testing was done on Clear Linux in order to compare the old/new microcode as well as the impact of the patched assembler when rebuilding the software under test. The threshold of the unpatched/patched assembler was from Clear Linux 31470 to 31480.
On Skylake systems 0x02000064 is the patched microcode version while for Cascade Lake 0x0500002b is the version addressed for the JCC erratum. Unlike with the security mitigations that can be easily turned off by the kernel, once upgrading to the new microcode there isn't a means of disabling this erratum workaround short of reverting to an older CPU microcode.
Due to time constraints and also being particularly short on time due to last week's paternity time chaos, just a handful of systems were tested in time for today's disclosure.
Via the Phoronix Test Suite a wide range of benchmarks were carried out. Note: in the interest of transparency and delivering the most transparent and reproducible benchmarks of any review/tech websites, the Phoronix Test Suite development code on GitHub has already been updated to now also clearly illustrate the CPU microcode revision in the system table of future articles. This makes it very easy to see what CPUs(s) are running with what microcode version especially with different microcodes shipped by different distributions. The Phoronix Test Suite previously showed CPU microcode versions to users but hadn't archived it as part of the result file graphs, but now this JCC erratum has shown more of a need to do so.
This article features a few sets of different benchmarks with first up looking at the Core i9 7960X and Xeon Silver 4108 performance across various workloads while testing with the existing (now old) microcode, the new microcode, and the revision of Clear Linux with the updated assembler.