My understanding is that idle=nomwait disables the use of the MWAIT
instruction in the kernel implementation of the CPU idle state.

I also *think* that, under the hood, disabling C6 and the "Typical Power
idle" option also have a similar (or perhaps the same?) effect of
reducing the use of MWAIT. E.g., since I started enabling the "Typical
Power idle" option in my BIOS, at every boot I have the following
message showing up in the kernel logs:

[Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)

However, because the MWAIT instruction is part of SSE3 [1], it might end
up being executed by any software which was compiled with support for
SSE3. So I believe that disabling MWAIT for idle states greatly reduces
the risk of getting these MWAIT hangs (simply because the instruction
will end up being executed much less), but it will not completely
eliminate them. Thus, it seems like the only bulletproof solution is
either to upgrade to Ryzen+/Ryzen2, or to disable hypterthreading.

[1] https://en.wikipedia.org/wiki/SSE3

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1690085

Title:
  Ryzen 1800X freeze - rcu_sched detected stalls on CPUs/tasks

To manage notifications about this bug go to:
https://bugs.launchpad.net/linux/+bug/1690085/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to