4 ms·
On linux you can enable an option in the kernel to update microcode at runtime (late microcode loading), but this is not recommended as you have processes that
by Aldqueath 3y ago
On linux you can enable an option in the kernel to update microcode at runtime (late microcode loading), but this is not recommended as you have processes that started before the late microcode update and thus might have already ran into cpu bugs
- magnat 3y ago> might have already ran into cpu bugs Not only that. There were microcode updates which disabled CPU features (most notably TSX). During process startup such features might have been detected as available and decided to use optimized subroutines. Disabling features while the process is still running might either severely degrade performance or outright crash it.
- mratsim 3y agoWas TSX ever used? I didn't even see an ounce of dev documentation about it.
- magnat 3y agoHLE, which is a subset of TSX, is (was?) supported by glibc [1]. Not sure if it is enabled by default. If it is, pretty much every multithreaded linux process would be affected. [1] https://www.gnu.org/software/libc/manual/html_node/Elision-Tunables.html https://www.gnu.org/software/libc/manual/html_node/Elision-T...
- amluto 3y agoAnd, more presently relevant, the actual sequence of CPU state manipulations needed to apply the update reliably in gnarly. Hopefully the thing currently implemented in Linux is fully reliable.