Re: Workqueue regression

From: Tejun Heo
Date: Thu Feb 01 2024 - 20:52:32 EST


Hello,

On Thu, Feb 01, 2024 at 09:57:59PM +0100, Konrad Dybcio wrote:
> So, commit "Implement system-wide nr_active enforcement for unbound workqueues"
> broke *something* and now performing a suspend-wakeup cycle on a Qualcomm
> SC8280XP-based (arm64) platform hangs when performing the resume tasks,
> presumably somewhere near PCIe reinitialization (but that may be a red herring).
>
> Reverting the commit (and the ones on top of it due to conflicts) fixes
> the issue on next-20240130 and later (plus some out-of-tree patches that
> are largely unrelated).
>
> Not sure where to start looking.

Hmm... sorry about that. Can you please boot with `console_no_suspend` and
retry? Once the system gets stuck, you can wait for several minutes till the
workqueue watchdog triggers and dumps the state or, if you can, trigger
`sysrq-t` which has workqueue state dump at the end.

If the system doesn't become live enough after suspend/resume cycle to get
more info, the following might help:

$ echo test_resume > /sys/power/disk
$ echo disk > /sys/power/state

That should walk most of the hibernation/wakeup path which is pretty simliar
to suspend/resume path without touching system power state.

Thanks.

--
tejun