Comment 636 for bug 1690085

Revision history for this message
In , philip.rosvall (philip.rosvall-linux-kernel-bugs) wrote :

(In reply to CodingEagle02 from comment #545)
> Hey out of curiosity, since I can't seem to find a clear answer, what
> exactly does idle=halt do?

idle=halt disables ACPI MWAIT completely, and issues HALT instead of different C-states for idle.
Without idle=halt, both my machines are issuing errors upon boot ([Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)), which disappears when idle=halt is set.
Borislav Petkov has a suspicion about what happens (comment 531):
"In order to understand what's *really* going on in the
cstate detection code one would need to instrument
at least acpi_processor_get_power_info_cst() and
acpi_processor_ffh_cstate_probe() to figure out what exactly does the
kernel parse from those CST objects and what it uses to try to enter
idle.

And do all that instrumentation on an affected system.

My current suspicion is is that it tries to enter idle with
misconfigured states and under certain conditions, it misses the wakeup,
leading to the stall."

I have successfully used idle=halt for over a month now, without a single lockup!