Intel Ice Lake "0x78" Microcode Update Having Small But Measurable Performance Hits
Following new Intel Ice Lake CPU microcode being published on Friday without any change-log and not updating prior Intel CPU family microcodes, I've begun looking at the performance as this first Intel CPU microcode update for Linux users since November. From my initial weekend testing there does seem to be some small but measurable and consistent performance impairments for Ice Lake from this microcode upgrade.
This Intel Linux CPU microcode update takes the Ice Lake microcode version from 0x46 to 0x78 and is the first update to the Linux microcode repository since last November's round of updates stemming from security changes. Since then new vulnerabilities have been disclosed requiring microcode updates but without any Linux release. If this Friday microcode release is for addressing those updates in recent months, it's not clear why only the Ice Lake microcode was updated and not the prior affected CPU generations as well.
It's worth noting that this coming Tuesday, 12 May, will mark the second Tuesday of the month where Intel is known to come out with their latest monthly security advisories. We'll see if something new is announced then that would explain this new Ice Lake microcode drop or anyhow we'll likely hear more once the weekend is over.
In any case, I've been running some benchmarks this weekend on the Dell XPS 7390 with Intel Core i7 1065G7 (Ice Lake) processor. Tests were done with the default 0x46 microcode of Ubuntu 20.04 LTS and the latest prior version and then again after loading the new 0x78 microcode for Ice Lake. Via the Phoronix Test Suite various benchmarks were carried out.