[PATCH v4 3/3] [Doc] Workqueue: add WQ_PERCPU

Marco Crivellari posted 3 patches 4 months ago
There is a newer version of this series
[PATCH v4 3/3] [Doc] Workqueue: add WQ_PERCPU
Posted by Marco Crivellari 4 months ago
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
Re: [PATCH v4 3/3] [Doc] Workqueue: add WQ_PERCPU
Posted by Frederic Weisbecker 3 months, 4 weeks ago
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
Re: [PATCH v4 3/3] [Doc] Workqueue: add WQ_PERCPU
Posted by Marco Crivellari 3 months, 4 weeks ago
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