(In reply to Moritz Naumann from comment #592)
> The latest firmware for X370 Taichi, v5.50 (2019/4/24), removes the "Power
> Supply Idle Control" option off the configuration UI; downgrading is not
> supported (but effectively possible at least from Windows). It is still
> possible to set "Power Supply Idle Control" (C6 package) via MSR using e.g.
> /sbin/modprobe msr && /usr/sbin/wrmsr -a 0xC0010292 true
> during boot.
>
> Luckily, this workaround may no longer be needed. While, with default 'BIOS'
> (actually UEFI firmware) settings on v5.50, Linux 4.18 still freezes during
> idle for me, it no longer does so on 5.1.2 (apparently - needs more testing
> - not on 5.0 either).
The connection between sighand->siglock and st->lock comes through seccomp,
which takes st->lock while holding sighand->siglock.
Make sure interrupts are disabled when __speculation_ctrl_update() is
invoked via prctl() -> speculation_ctrl_update(). Add a lockdep assert to
catch future offenders.
Fixes: 1f50ddb4f418 ("x86/speculation: Handle HT correctly on AMD")"
... the problem seems to be fixed! I no longer need to use idle=halt and the systems don't freeze anymore!
(In reply to Moritz Naumann from comment #592)
> The latest firmware for X370 Taichi, v5.50 (2019/4/24), removes the "Power
> Supply Idle Control" option off the configuration UI; downgrading is not
> supported (but effectively possible at least from Windows). It is still
> possible to set "Power Supply Idle Control" (C6 package) via MSR using e.g.
> /sbin/modprobe msr && /usr/sbin/wrmsr -a 0xC0010292 true
> during boot.
>
> Luckily, this workaround may no longer be needed. While, with default 'BIOS'
> (actually UEFI firmware) settings on v5.50, Linux 4.18 still freezes during
> idle for me, it no longer does so on 5.1.2 (apparently - needs more testing
> - not on 5.0 either).
Since 5.0.10, and this commit ...:
(https:/ /cdn.kernel. org/pub/ linux/kernel/ v5.x/ChangeLog- 5.0.10) 5a9fe93f63e398d a7e59124b6
"commit 205c53cbe553c9e
Author: Thomas Gleixner <email address hidden>
Date: Sun Apr 14 19:51:06 2019 +0200
x86/ speculation: Prevent deadlock on ssb_state::lock
commit 2f5fb19341883bb 6e37da351bc3700 489d8506a7 upstream.
Mikhail reported a lockdep splat related to the AMD specific ssb_state
lock:
CPU0 CPU1 &st->lock) ;
local_ irq_disable( );
lock( &(&sighand- >siglock) ->rlock) ;
lock( &st->lock) ;
lock( &(&sighand- >siglock) ->rlock) ;
lock(
<Interrupt>
*** DEADLOCK ***
The connection between sighand->siglock and st->lock comes through seccomp,
which takes st->lock while holding sighand->siglock.
Make sure interrupts are disabled when __speculation_ ctrl_update( ) is ctrl_update( ). Add a lockdep assert to
invoked via prctl() -> speculation_
catch future offenders.
Fixes: 1f50ddb4f418 ("x86/speculation: Handle HT correctly on AMD")"
... the problem seems to be fixed! I no longer need to use idle=halt and the systems don't freeze anymore!