[PATCH v4 2/2] doc: Update WQ_UNBOUND and WQ_BH documentation

From: Marco Crivellari

Date: Thu Oct 15 2026 - 10:23:28 EST


When WQ_PERCPU is not present the default behavior is now WQ_UNBOUND,
so update the documentation, reflecting this change.

WQ_BH workqueues are the exception to this rule: they are always
per-CPU and can't be unbound, so WQ_PERCPU is implicitly set for them
regardless of what the caller passes. Update the WQ_BH section
accordingly, as WQ_HIGHPRI is no longer the only additional flag
involved.

Link: https://lore.kernel.org/all/20250221112003.1dSuoGyc@xxxxxxxxxxxxx/
Suggested-by: Tejun Heo <tj@xxxxxxxxxx>
Signed-off-by: Marco Crivellari <marco.crivellari@xxxxxxxx>
---
Documentation/core-api/workqueue.rst | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/Documentation/core-api/workqueue.rst b/Documentation/core-api/workqueue.rst
index bb770f556568..76b70e7f4e3f 100644
--- a/Documentation/core-api/workqueue.rst
+++ b/Documentation/core-api/workqueue.rst
@@ -177,8 +177,9 @@ resources, scheduled and executed.
workqueues are always per-CPU and all BH work items are executed in the
queueing CPU's softirq context in the queueing order.

- All BH workqueues must have 0 ``max_active`` and ``WQ_HIGHPRI`` is the
- only allowed additional flag.
+ All BH workqueues must have 0 ``max_active``. ``WQ_HIGHPRI`` and
+ ``WQ_PERCPU`` are the only permitted flags. ``WQ_PERCPU`` is enforced by
+ default as BH workqueueus cannot be unbound.

BH work items cannot sleep. All other features such as delayed queueing,
flushing and canceling are supported.
@@ -206,6 +207,10 @@ resources, scheduled and executed.
* Long running CPU intensive workloads which can be better
managed by the system scheduler.

+ Workqueue without ``WQ_PERCPU`` are unbound by default, with the
+ exception of ``WQ_BH`` workqueues, which always have ``WQ_PERCPU``
+ set since they can't be unbound.
+
``WQ_FREEZABLE``
A freezable wq participates in the freeze phase of the system
suspend operations. Work items on the wq are drained and no
--
2.55.0