From: Marco Crivellari <marco.crivellari@suse.com>
To: linux-kernel@vger.kernel.org
Cc: Tejun Heo <tj@kernel.org>, Lai Jiangshan <jiangshanlai@gmail.com>,
Frederic Weisbecker <frederic@kernel.org>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Marco Crivellari <marco.crivellari@suse.com>,
Michal Hocko <mhocko@suse.com>, Breno Leitao <leitao@debian.org>
Subject: [PATCH v5 0/2] workqueue: Make WQ_UNBOUND the default behavior
Date: Mon, 2 Nov 2026 12:00:45 +0100 [thread overview]
Message-ID: <20261102110047.115375-1-marco.crivellari@suse.com> (raw)
Hi,
Currently alloc_workqueue() make sure one among WQ_UNBOUND or WQ_PERCPU is
present with the current default being WQ_PERCPU.
This default is suboptimal: most workloads benefit from unbound queues,
allowing the scheduler to place worker threads where they're needed and
reducing noise when CPUs are isolated.
This series changes this behavior as follows:
[ P1 ]
- keep WARN_ON() if WQ_PERCPU and WQ_UNBOUND are present and drop
WQ_PERCPU.
- defaults to WQ_UNBOUND except for WQ_BH, that it is always per-CPU.
[ P2 ]
Documentation updated accordingly.
Thanks!
---
Changes in v5:
From Tejun / Breno:
- Dropped the pr_warn_once() when neither among WQ_PERCPU | WQ_UNBOUND is
present and add WQ_UNBOUND.
- move wq_dropped_percpu declaration on top
- improve comments and commit log, so that it better describe also the
reasons of this change.
- prefix "workqueue: doc:" on documentation improving descriptions about
the flags.
Link to v4: https://lore.kernel.org/all/20261015140148.231126-1-marco.crivellari@suse.com/
Changes in v4:
- WQ_BH: add documentation about BH workqueue implying WQ_PERCPU
Link to v3: https://lore.kernel.org/all/20260904141421.287647-1-marco.crivellari@suse.com/
Changes in v3:
- WQ_BH require WQ_PERCPU
Link to v2: https://lore.kernel.org/all/20260903165251.481362-1-marco.crivellari@suse.com/
Changes in v2:
- if/else to add/drop WQ_UNBOUND/WQ_PERCPU moved before wq_size assignment
Link to v1: https://lore.kernel.org/all/20260903152204.401638-1-marco.crivellari@suse.com/
Marco Crivellari (2):
workqueue: Make alloc_workqueue() unbound by default
workqueue: doc: Update WQ_UNBOUND and WQ_BH documentation
Documentation/core-api/workqueue.rst | 14 +++++++-----
include/linux/workqueue.h | 4 ++--
kernel/workqueue.c | 32 ++++++++++++++--------------
3 files changed, 27 insertions(+), 23 deletions(-)
--
2.56.0
next reply other threads:[~2026-11-02 11:00 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-02 11:00 Marco Crivellari [this message]
2026-11-02 11:00 ` [PATCH v5 1/2] workqueue: Make alloc_workqueue() unbound by default Marco Crivellari
2026-11-02 11:00 ` [PATCH v5 2/2] workqueue: doc: Update WQ_UNBOUND and WQ_BH documentation Marco Crivellari
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261102110047.115375-1-marco.crivellari@suse.com \
--to=marco.crivellari@suse.com \
--cc=bigeasy@linutronix.de \
--cc=frederic@kernel.org \
--cc=jiangshanlai@gmail.com \
--cc=leitao@debian.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mhocko@suse.com \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®