upvote
The author’s take on this in the Mitigations section makes sense to me:

> Remove the timeout, and a legitimately stuck core hangs the platform on the first SMI. Increase the timeout, and you kill performance on many-core platforms that are forced to quiesce all cores every SMM entry. It's not clear what the best path forward is, or if there is even a path forward at all.

reply
Reads like AI.
reply
system management mode does a lot of stuff, some of which is time critical. If your system is overheating and one of the cores is stuck off in the weeds, it's probably better to get on with the thermal response rather than waiting forever.

Also, the System Management Interrupts are supposed to return to normal processing in some finite timespan; a timeout bounds the wait time.

reply
If it is critical it should not be running on same cores
reply
There's a hardwired emergency shutoff but you probably want the BIOS to set the fans to maximum long before the computer just shuts off.
reply
Using the example above, if a CPU core is overheating, can you down clock that core using and instruction run on another core? I don't actually know that much about how the hardware actually works at that level, so I am genuinely asking.
reply
IIRC clock control doesn't need to be done in SMM, especially PROCHOT which is a hardwired thermal shutdown. That said, power management is one of the things SMM was originally designed for, so it may be used for some of that.
reply
It could also react to hitting the timeout with a hard reset. Annoying perhaps, but at least safe. Ancient principle of system design is that when you must fail, it is better to fail safe than fail deadly even when it's annoying in the short term.
reply
I would expect a way to interrupt super-long-running instructions would be the better option, even if it was not fully backwards-compatible (say your process executing long-running instructions gets killed).
reply
Can this be patched? Is there a chance it's a hw watchdog that you can't fix in microcode?
reply
Looks like it's ~4 billion (2^32) crossover counter?
reply