Workqueue documentation upgraded with the description
of the new added flag, WQ_PERCPU.
Also the WQ_UNBOUND flag documentation has been integrated
Suggested-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>
---
Documentation/core-api/workqueue.rst | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/Documentation/core-api/workqueue.rst b/Documentation/core-api/workqueue.rst
index e295835fc116..ae63a648a51b 100644
--- a/Documentation/core-api/workqueue.rst
+++ b/Documentation/core-api/workqueue.rst
@@ -183,6 +183,12 @@ resources, scheduled and executed.
BH work items cannot sleep. All other features such as delayed queueing,
flushing and canceling are supported.
+``WQ_PERCPU``
+ Work items queued to a per-cpu wq are bound to that specific CPU.
+ This flag it's the right choice when cpu locality is important.
+
+ This flag is the complement of ``WQ_UNBOUND``.
+
``WQ_UNBOUND``
Work items queued to an unbound wq are served by the special
worker-pools which host workers which are not bound to any
@@ -200,6 +206,10 @@ resources, scheduled and executed.
* Long running CPU intensive workloads which can be better
managed by the system scheduler.
+ **Note:** This flag will be removed in future and all the work
+ items that dosen't need to be bound to a specific CPU, should not
+ use this flags.
+
``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.49.0
Le Thu, Jun 12, 2025 at 03:33:35PM +0200, Marco Crivellari a écrit : > Workqueue documentation upgraded with the description > of the new added flag, WQ_PERCPU. > > Also the WQ_UNBOUND flag documentation has been integrated > > Suggested-by: Tejun Heo <tj@kernel.org> > Signed-off-by: Marco Crivellari <marco.crivellari@suse.com> Thanks, a few spelling nits below: > --- > Documentation/core-api/workqueue.rst | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/Documentation/core-api/workqueue.rst b/Documentation/core-api/workqueue.rst > index e295835fc116..ae63a648a51b 100644 > --- a/Documentation/core-api/workqueue.rst > +++ b/Documentation/core-api/workqueue.rst > @@ -183,6 +183,12 @@ resources, scheduled and executed. > BH work items cannot sleep. All other features such as delayed queueing, > flushing and canceling are supported. > > +``WQ_PERCPU`` > + Work items queued to a per-cpu wq are bound to that specific CPU. s/that/a > + This flag it's the right choice when cpu locality is important. s/it's/is > + > + This flag is the complement of ``WQ_UNBOUND``. > + > ``WQ_UNBOUND`` > Work items queued to an unbound wq are served by the special > worker-pools which host workers which are not bound to any > @@ -200,6 +206,10 @@ resources, scheduled and executed. > * Long running CPU intensive workloads which can be better > managed by the system scheduler. > > + **Note:** This flag will be removed in future and all the work in the future > + items that dosen't need to be bound to a specific CPU, should not s/dosen't/don't > + use this flags. flag. But since the support for this is not there yet, perhaps this note should be added later? Ie: if someone omits the WQ_UNBOUND flag currently, the workqueue will be percpu. Thanks. > + > ``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.49.0 > -- Frederic Weisbecker SUSE Labs
Thank you! > But since the support for this is not there yet, perhaps this note > should be added later? Ie: if someone omits the WQ_UNBOUND flag currently, > the workqueue will be percpu. Yes, it makes sense. I will send the v5 with all the corrections. Thanks. On Fri, Jun 13, 2025 at 3:13 PM Frederic Weisbecker <frederic@kernel.org> wrote: > > Le Thu, Jun 12, 2025 at 03:33:35PM +0200, Marco Crivellari a écrit : > > Workqueue documentation upgraded with the description > > of the new added flag, WQ_PERCPU. > > > > Also the WQ_UNBOUND flag documentation has been integrated > > > > Suggested-by: Tejun Heo <tj@kernel.org> > > Signed-off-by: Marco Crivellari <marco.crivellari@suse.com> > > Thanks, a few spelling nits below: > > > --- > > Documentation/core-api/workqueue.rst | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/Documentation/core-api/workqueue.rst b/Documentation/core-api/workqueue.rst > > index e295835fc116..ae63a648a51b 100644 > > --- a/Documentation/core-api/workqueue.rst > > +++ b/Documentation/core-api/workqueue.rst > > @@ -183,6 +183,12 @@ resources, scheduled and executed. > > BH work items cannot sleep. All other features such as delayed queueing, > > flushing and canceling are supported. > > > > +``WQ_PERCPU`` > > + Work items queued to a per-cpu wq are bound to that specific CPU. > > s/that/a > > > + This flag it's the right choice when cpu locality is important. > > s/it's/is > > > + > > + This flag is the complement of ``WQ_UNBOUND``. > > + > > ``WQ_UNBOUND`` > > Work items queued to an unbound wq are served by the special > > worker-pools which host workers which are not bound to any > > @@ -200,6 +206,10 @@ resources, scheduled and executed. > > * Long running CPU intensive workloads which can be better > > managed by the system scheduler. > > > > + **Note:** This flag will be removed in future and all the work > > in the future > > > + items that dosen't need to be bound to a specific CPU, should not > > s/dosen't/don't > > > + use this flags. > > flag. > > But since the support for this is not there yet, perhaps this note > should be added later? Ie: if someone omits the WQ_UNBOUND flag currently, > the workqueue will be percpu. > > Thanks. > > > + > > ``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.49.0 > > > > -- > Frederic Weisbecker > SUSE Labs -- Marco Crivellari L3 Support Engineer, Technology & Product marco.crivellari@suse.com
© 2016 - 2025 Red Hat, Inc.