CPU Melt/Specter Microcode without Windows patch

There is a way to disable Meltdown and Specter security fixes in Windows 10 via registry. Would that have a performance-enhancing impact if BIOS CPU Microcode already contains those fixes (on hardware level)? I just upgraded from 3770K Z77 to 8700K Z370 (ASUS Hero X, latest BIOS 1503) and wanted to get the most out of my system. As far as I know, the latest BIOS already comes with Meltdown and Specter fixes, which degrade performance.

Should I downgrade CPU Microcode on my board to one before 2018 to get better performance? The latest BIOS release, 1503, states that performance was improved (in change log), but I don’t know if there are any comparison benchmarks that show 8700K performance before and after CPU Microcode updates (with or without Windows 10 fixes for Meltdown and Specter)…

I also don’t know how badly performance of 8700K was degraded from Meltdown and Spectre fixes via CPU Microcode and/or Windows 10 updates. It’s the latest and greatest and I would assume ASUS, Intel, etc. are making sure performance degradation is as small as possible, but I’d like to be certain.

@MonarchX

Someone else can correct me if I’m wrong but, I believe that some of the Meltdown/Spectre mitigations are exclusively mitigated by the Windows itself (i.e. Meltdown) whereas others (i.e. Spectre Variants 2 & 4, maybe others) require both Windows and CPU Microcode mitigations to be enabled & used to be effective.

If you have the new CPU Microcode Spectre mitigation capability that gets loaded within your CPU at system boot via BIOS/EFI/UEFI, unless the Windows hooks (CPU instructions) that interface with the new CPU Spectre mitigation features are enabled & used, CPU performance should remain the same as it would be without the Spectre mitigation capability loaded within your CPU.

Think of it as having some additional piece of software loaded onto your system HD/SSD, it’s there and it may take up a little bit of storage space but, if you don’t use/run it, it doesn’t/shouldn’t effect your overall system performance.

As far as any new additional features that your new BIOS may or may not have, unless you know what else was added/changed/removed, it would be unknown as to what effect the other changes (if any) would have on system performance.

As far as being able to disable Windows 10/8.1/8/7’s use of any Meltdown and/or Spectre mitigation within Windows, there’s a Windows tool available to do just that - GRC’s “Inspectre” and it can be found here … https://www.grc.com/inspectre.htm

You can use the tool to disable Meltdown and/or Spectre mitigation within Windows, run a few benchmarks to establish a good baseline then enable Meltdown and/or Spectre re-run the same benchmarks again then compare results to determine what overall system effects you get with Meltdown/Spectre mitigation enabled.

~RDRguy

Thanks! Should I upload the latest CPU Microcode somewhere? UBU Dev edition is detecting it as something exceedingly new and fascinating, probably because BIOS 1503 came out just 2 days ago.

@MonarchX

Once extracted from your new BIOS using MC Extractor from here … https://github.com/platomav/MCExtractor/

… you should probably forward your new microcode to … @plutomaniac … via this topic discussion here … Intel, AMD & VIA CPU Microcode Repositories Discussion

But as thorough as he is, I wouldn’t be surprised if he didn’t already have it posted in the CPU Microcode Repository on github here … https://github.com/platomav/CPUMicrocodes

~rdrguy


Do you have any app recommendation to do the benchmarks? I’m also interested in this, my CPU has a new microcode available but since it’s IvyBridge the performance impact will be bigger.

Use InSpectre, to individually disable Meltdown protections and Spectre protections, while leaving your Microcode updated. Be sure to restart the PC on each change. You may notice a performance difference, especially in kernel-mode-heavy operations.

For me, VirtualBox VMs running CPU-intense operations, show a significant difference (sometimes 30%, sometimes 300%), with Spectre protection enabled vs disabled, on my i7-5960X.

InSpectre is the answer, to easily control this! Set it, restart the PC, and test test test! As far as benchmarks, I don’t know what would be best, but I can tell you for sure that I’m seeing VM degradation with Spectre enabled, on my modern-ish CPU.

" I can tell you for sure that I’m seeing VM degradation with Spectre enabled, on my modern-ish CPU"…indeed, for sure !!
Safety has a price , I disabled it , costing me too much time , when both enabled .

I think its no problem or safety-risk as long as you have your backups ( and renewed regulary )

My doubt is, while using InSpectre to disable the mitigation’s does the performance comes back or there is still a possibility that the microcode update in the BIOS impacts the performance even if it’s disabled via InSpectre/Windows registry?

The Microcode updates, makes the CPU hardware capable of supporting the mitigations, turned on by default by most OS’s.
Microsoft has provided some registry keys, where users can disable the mitigations entirely, if they choose to do it, even if the CPU Microcode has the hardware support.
InSpectre can be used to disable each of the 2 mitigations, independently.

I have confirmed a performance difference, with the InSpectre Spectre protection, when enabled versus disabled. On a fully microcode updated i7-5960X, which has all of Intel’s hardware mitigation support.

So, yes, InSpectre can restore performance. I wouldn’t leave Spectre protection disabled, though, unless you really know what you’re doing.

Thank you very much Jacob, useful information. I think i will update the microcode and use InSpectre if/when needed.

Cheers

Unfortunately I couldn’t insert the latest Microcode file for Westmere from platomav’s database and already filed an issue on Github for it. But I guess we sooner or later will get it anyway through Microsoft.