On 03.04.24 12:02, Jon Hunter wrote:
On 24/03/2024 22:22, Sasha Levin wrote:
Tejun Heo (9): workqueue: Move pwq->max_active to wq->max_active workqueue: Factor out pwq_is_empty() workqueue: Replace pwq_activate_inactive_work() with [__]pwq_activate_work() workqueue: Move nr_active handling into helpers workqueue: Make wq_adjust_max_active() round-robin pwqs while activating workqueue: RCU protect wq->dfl_pwq and implement accessors for it workqueue: Introduce struct wq_node_nr_active workqueue: Implement system-wide nr_active enforcement for unbound workqueues workqueue: Don't call cpumask_test_cpu() with -1 CPU in wq_update_node_max_active()
Sorry I am late on this, but I was not copied and so did not see this. I noticed a suspend regression on Tegra186 with v6.8.y and bisect is point to commit "workqueue: Implement system-wide nr_active enforcement for unbound workqueues".
Reverting commits "workqueue: Don't call cpumask_test_cpu() with -1 CPU in wq_update_node_max_active()" and "workqueue: Implement system-wide nr_active enforcement for unbound workqueues" does fix the problem.
Note that I am not seeing this regression on the mainline with v6.9-rc2 and so I am not sure if there is something else missing? I am also still seeing the problem with v6.8.3-rc1.
FWIW, there is a ongoing discussion about the workqueue backports (and if those should be removed) due to a earlier regression report (about hibernate, not suspend) here:
https://lore.kernel.org/all/ce4c2f67-c298-48a0-87a3-f933d646c73b@leemhuis.in...
Ciao, Thorsten