On Thu, Dec 12 2024 at 13:46, David Woodhouse wrote: > On Thu, 2024-12-12 at 14:34 +0100, Thomas Gleixner wrote: >> >> David, can you retest with the debug patch below? That should pin-point >> the real culprit. > > B[ 1.545489] ------------[ cut here ]------------ > [ 1.546338] DEBUG_LOCKS_WARN_ON(suspend_syscore_active) > [ 1.546375] WARNING: CPU: 0 PID: 18 at kernel/locking/lockdep.c:4471 lockdep_hardirqs_on+0x13a/0x140 Now this starts to be completely mysterious: > [ 1.571399] finish_task_switch.isra.0+0xc4/0x2d0 > [ 1.572062] __schedule+0x50a/0x1a10 How on earth did this end up in schedule() on the rcu_gp_kthread between syscore_suspend() and syscore_resume()? > [ 1.575896] rcu_gp_fqs_loop+0x10b/0x5b0 > [ 1.576455] ? _raw_spin_unlock_irq+0x28/0x50 > [ 1.577072] rcu_gp_kthread+0xf8/0x1b0 > [ 1.577621] kthread+0xd5/0x100 > [ 1.578066] ? __pfx_kthread+0x10/0x10 I tried to reproduce, but failed. Do you have a simple reproducer recipe? Thanks, tglx