4 ms·
Probably you're on Win as you mentioned gaming. In Linux you can pass `mitigations=off` as a kernel boot time switch [1]. I did it on my old PC at home and it f
by marcyb5st 5y ago
Probably you're on Win as you mentioned gaming. In Linux you can pass `mitigations=off` as a kernel boot time switch [1]. I did it on my old PC at home and it felt a bit snappier after that. However, I don't have any numbers to quantify it.
[1] https://www.phoronix.com/scan.php?page=news_item&px=Spectre-Meltdown-Easy-Switch-52#:~:text=The%20mitigations%3Doff%20switch%20will,%2C%20POWER%2C%20and%20s390%20architectures https://www.phoronix.com/scan.php?page=news_item&px=Spectre-....
- BeeOnRope 5y agomitigations=off doesn't disable this effect.
- darig 5y agomitigations=off does disable this effect.
- fouric 5y agoA citation or some kind of further explanation would be more valuable than an effective "no it doesn't" response.
- Chyzwar 5y agoIt disables kernel mitigation, not microcode mitigations.
- BeeOnRope 5y agoSorry, I explained it more detail elsewhere in this comments section. mitigations=off works at the OS kernel level to patch out some expensive aspects of what the kernel can do (possibly in concert with the CPU but driven by the kernel). This issue a microcode change that affects the CPU behavior without any intervention by the kernel, so mitigations=off doesn't help.
- Wowfunhappy 5y agoDo the microcode changed alone, without kernel mitigations, negatively impact performance?
- BeeOnRope 5y agoYes. There is no kernel mitigation associated with this issue and it is not in the Spectre class of vulnerabilities. It is purely a microcode fix for an "old-school" data dependent timing issue.
- marcyb5st 5y agoThanks! I wasn't aware of that!
- irthomasthomas 5y agoMe too. Last time I checked, it halved my boot time, which I know is not a perfect benchmark but it's something.
- tpxl 5y agoLast I checked, my performance almost doubled in multicore benchmarks when I disabled mitigations.
- qwerty456127 5y agoYes, I actually dual-boot. I know this way of disabling mitigations on Linux (nevertheless thank you, I well might be unaware of this feature, I only learnt it some years ago). However, I doubt you can disable microcode-level mitigations this way. I believe it only affects the kernel level.
- spystath 5y agoOn some linux distributions [0] microcode is loaded early during kernel boot. So it's a matter of pinning the package to a previous version. No idea what happens with BIOS/UEFI updates though, although you can roll these back too. Obviously the "proper" way here is to have open source microcode but I can't see that happening anytime soon. [0] https://wiki.archlinux.org/title/Microcode#Early_loading https://wiki.archlinux.org/title/Microcode#Early_loading
- ulzeraj 5y agoI also have no idea how to do on Windows but disabling those mitigations along with other unnecessary Windows 10 stuff can be done through Chris Titus' debloat program: https://christitus.com/debloat-windows-10/ https://christitus.com/debloat-windows-10/
- torginus 5y agoCan you disable these on a per-process basis? I'm not concerned that my compiler or Blender render is going to side-channel attack whatever other part of the system. Generally there's little overlap between completely untrusted code and code that requires high performance.
- dspillett 5y ago> Can you disable these on a per-process basis? No. If it wasn't impossible, it would add a massive delay to context switches between processes as the required microcode changes are applied.
- silon42 5y agoIt would be interesting if they could be done per core... So one could reserve 1 core for JS and also down-clock it to a minimum.
- Wowfunhappy 5y agoHm... I'm on a host OS with Meltdown mitigations disabled, but I can seemingly run a VM with the mitigations enabled, verified via InSpectre[1]. I guess that's different somehow? 1: https://www.grc.com/inspectre.htm https://www.grc.com/inspectre.htm
- monocasa 5y agoThere's a lot of mitigations. Some are microcode, some are kernel/vmm code, some are user space if that process is running untrusted code. Your host probably just isn't running with the normal ISA mitigations, but the microcode installed.
- eklitzke 5y agoThis is because the Spectre/Meltdown can't be patched with microcode updates, the mitigations instead use different kernel mechanisms (KPTI for Meltdown, retpolines for Spectre). If the guest kernel for your VM is using these mitigations it will be protected even if the host has mitigations disabled.
- nullify88 5y agoOn Windows you'll have to delete C:\Windows\System32\mcupdate_GenuineIntel.dll to prevent Windows applying Intel microcode updates. Whatever microcode is in the bios, it will use that. There are also ways to modify the BIOS to update or downgrade its microcode. My gaming PC, a Sandy Bridge i7-2600k, has had 20 microcode updates between 2010 to 2019. The majority were in 2013 until the spectre mitigations came in 2018. The last bios update for my mobo contains microcode 2 versions behind the spectre updates. Feed a BIOS image in to this tool to view microcode information. https://github.com/platomav/MCExtractor https://github.com/platomav/MCExtractor
- OscarCunningham 5y ago> Probably you're on Win as you mentioned gaming. This is not as sure a deduction as it once was. The main reason for games not to be playable on Linux is the anticheat software used in modern online games. Pretty much everything else will now run perfectly (see protondb.com). Since the commentor you were replying to specified that they played old single player games they would probably be fine with just Linux. Indeed many sufficiently old Windows games are now easier to play on Linux than they are on modern Windows.
- marcyb5st 5y agoAgreed! That's why I said probably. I am also gaming a bit on Linux, but I know the vast majority of people still stick with Winddows for that.