[PATCH v2 9/9] workqueue: skip the node_nr_active update for non-unbound workqueues
From: Breno Leitao
Date: Wed Aug 05 2026 - 11:00:59 EST
apply_wqattrs_commit() updates node_nr_active->max unconditionally.
wq->node_nr_active[] is only allocated for unbound workqueues, so guard
the call before per-cpu workqueues start using this path.
No functional change: only unbound workqueues reach apply_wqattrs_*()
today.
Signed-off-by: Breno Leitao <leitao@xxxxxxxxxx>
---
kernel/workqueue.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 65ac75431c3be..8fd6af72ffd8d 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -5556,8 +5556,9 @@ static void apply_wqattrs_commit(struct apply_wqattrs_ctx *ctx)
ctx->pwq_tbl[cpu]);
ctx->dfl_pwq = install_unbound_pwq(ctx->wq, -1, ctx->dfl_pwq);
- /* update node_nr_active->max */
- wq_update_node_max_active(ctx->wq, -1);
+ /* update node_nr_active->max, which only unbound workqueues have */
+ if (ctx->wq->flags & WQ_UNBOUND)
+ wq_update_node_max_active(ctx->wq, -1);
mutex_unlock(&ctx->wq->mutex);
}
--
2.53.0-Meta