public inbox for linux-cxl@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] cxl/pci: replace use of system_wq with system_percpu_wq
@ 2025-10-30 16:38 Marco Crivellari
  2025-10-30 16:56 ` Dave Jiang
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Marco Crivellari @ 2025-10-30 16:38 UTC (permalink / raw)
  To: linux-kernel, linux-cxl
  Cc: Tejun Heo, Lai Jiangshan, Frederic Weisbecker,
	Sebastian Andrzej Siewior, Marco Crivellari, Michal Hocko,
	Davidlohr Bueso, Jonathan Cameron, Dave Jiang, Alison Schofield,
	Vishal Verma, Ira Weiny, Dan Williams

Currently if a user enqueue a work item using schedule_delayed_work() the
used wq is "system_wq" (per-cpu wq) while queue_delayed_work() use
WORK_CPU_UNBOUND (used when a cpu is not specified). The same applies to
schedule_work() that is using system_wq and queue_work(), that makes use
again of WORK_CPU_UNBOUND.

This lack of consistency cannot be addressed without refactoring the API.

system_wq should be the per-cpu workqueue, yet in this name nothing makes
that clear, so replace system_wq with system_percpu_wq.

The old wq (system_wq) will be kept for a few release cycles.

Suggested-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>
---
 drivers/cxl/pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c
index bd100ac31672..0be4e508affe 100644
--- a/drivers/cxl/pci.c
+++ b/drivers/cxl/pci.c
@@ -136,7 +136,7 @@ static irqreturn_t cxl_pci_mbox_irq(int irq, void *id)
 	if (opcode == CXL_MBOX_OP_SANITIZE) {
 		mutex_lock(&cxl_mbox->mbox_mutex);
 		if (mds->security.sanitize_node)
-			mod_delayed_work(system_wq, &mds->security.poll_dwork, 0);
+			mod_delayed_work(system_percpu_wq, &mds->security.poll_dwork, 0);
 		mutex_unlock(&cxl_mbox->mbox_mutex);
 	} else {
 		/* short-circuit the wait in __cxl_pci_mbox_send_cmd() */
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] cxl/pci: replace use of system_wq with system_percpu_wq
  2025-10-30 16:38 [PATCH] cxl/pci: replace use of system_wq with system_percpu_wq Marco Crivellari
@ 2025-10-30 16:56 ` Dave Jiang
  2025-10-31 14:49 ` Ira Weiny
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Dave Jiang @ 2025-10-30 16:56 UTC (permalink / raw)
  To: Marco Crivellari, linux-kernel, linux-cxl
  Cc: Tejun Heo, Lai Jiangshan, Frederic Weisbecker,
	Sebastian Andrzej Siewior, Michal Hocko, Davidlohr Bueso,
	Jonathan Cameron, Alison Schofield, Vishal Verma, Ira Weiny,
	Dan Williams



On 10/30/25 9:38 AM, Marco Crivellari wrote:
> Currently if a user enqueue a work item using schedule_delayed_work() the
> used wq is "system_wq" (per-cpu wq) while queue_delayed_work() use
> WORK_CPU_UNBOUND (used when a cpu is not specified). The same applies to
> schedule_work() that is using system_wq and queue_work(), that makes use
> again of WORK_CPU_UNBOUND.
> 
> This lack of consistency cannot be addressed without refactoring the API.
> 
> system_wq should be the per-cpu workqueue, yet in this name nothing makes
> that clear, so replace system_wq with system_percpu_wq.
> 
> The old wq (system_wq) will be kept for a few release cycles.
> 
> Suggested-by: Tejun Heo <tj@kernel.org>
> Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>

Reviewed-by: Dave Jiang <dave.jiang@intel.com>> ---
>  drivers/cxl/pci.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c
> index bd100ac31672..0be4e508affe 100644
> --- a/drivers/cxl/pci.c
> +++ b/drivers/cxl/pci.c
> @@ -136,7 +136,7 @@ static irqreturn_t cxl_pci_mbox_irq(int irq, void *id)
>  	if (opcode == CXL_MBOX_OP_SANITIZE) {
>  		mutex_lock(&cxl_mbox->mbox_mutex);
>  		if (mds->security.sanitize_node)
> -			mod_delayed_work(system_wq, &mds->security.poll_dwork, 0);
> +			mod_delayed_work(system_percpu_wq, &mds->security.poll_dwork, 0);
>  		mutex_unlock(&cxl_mbox->mbox_mutex);
>  	} else {
>  		/* short-circuit the wait in __cxl_pci_mbox_send_cmd() */


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] cxl/pci: replace use of system_wq with system_percpu_wq
  2025-10-30 16:38 [PATCH] cxl/pci: replace use of system_wq with system_percpu_wq Marco Crivellari
  2025-10-30 16:56 ` Dave Jiang
@ 2025-10-31 14:49 ` Ira Weiny
  2025-10-31 16:50   ` Marco Crivellari
  2025-10-31 16:16 ` Davidlohr Bueso
  2025-11-03 23:44 ` Dave Jiang
  3 siblings, 1 reply; 7+ messages in thread
From: Ira Weiny @ 2025-10-31 14:49 UTC (permalink / raw)
  To: Marco Crivellari, linux-kernel, linux-cxl
  Cc: Tejun Heo, Lai Jiangshan, Frederic Weisbecker,
	Sebastian Andrzej Siewior, Marco Crivellari, Michal Hocko,
	Davidlohr Bueso, Jonathan Cameron, Dave Jiang, Alison Schofield,
	Vishal Verma, Ira Weiny, Dan Williams

Marco Crivellari wrote:
> Currently if a user enqueue a work item using schedule_delayed_work() the
> used wq is "system_wq" (per-cpu wq) while queue_delayed_work() use
> WORK_CPU_UNBOUND (used when a cpu is not specified). The same applies to
> schedule_work() that is using system_wq and queue_work(), that makes use
> again of WORK_CPU_UNBOUND.
> 
> This lack of consistency cannot be addressed without refactoring the API.
> 
> system_wq should be the per-cpu workqueue, yet in this name nothing makes
> that clear, so replace system_wq with system_percpu_wq.
> 
> The old wq (system_wq) will be kept for a few release cycles.

A reference to:

commit 128ea9f6ccfb6960293ae4212f4f97165e42222d
Author: Marco Crivellari <marco.crivellari@suse.com>
Date:   Sat Jun 14 15:35:29 2025 +0200

    workqueue: Add system_percpu_wq and system_dfl_wq

...

Would have been nice just to save reviewers time.  Regardless.

Reviewed-by: Ira Weiny <ira.weiny@intel.com>

[snip]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] cxl/pci: replace use of system_wq with system_percpu_wq
  2025-10-30 16:38 [PATCH] cxl/pci: replace use of system_wq with system_percpu_wq Marco Crivellari
  2025-10-30 16:56 ` Dave Jiang
  2025-10-31 14:49 ` Ira Weiny
@ 2025-10-31 16:16 ` Davidlohr Bueso
  2025-11-03 23:44 ` Dave Jiang
  3 siblings, 0 replies; 7+ messages in thread
From: Davidlohr Bueso @ 2025-10-31 16:16 UTC (permalink / raw)
  To: Marco Crivellari
  Cc: linux-kernel, linux-cxl, Tejun Heo, Lai Jiangshan,
	Frederic Weisbecker, Sebastian Andrzej Siewior, Michal Hocko,
	Jonathan Cameron, Dave Jiang, Alison Schofield, Vishal Verma,
	Ira Weiny, Dan Williams

On Thu, 30 Oct 2025, Marco Crivellari wrote:

>Currently if a user enqueue a work item using schedule_delayed_work() the
>used wq is "system_wq" (per-cpu wq) while queue_delayed_work() use
>WORK_CPU_UNBOUND (used when a cpu is not specified). The same applies to
>schedule_work() that is using system_wq and queue_work(), that makes use
>again of WORK_CPU_UNBOUND.
>
>This lack of consistency cannot be addressed without refactoring the API.
>
>system_wq should be the per-cpu workqueue, yet in this name nothing makes
>that clear, so replace system_wq with system_percpu_wq.
>
>The old wq (system_wq) will be kept for a few release cycles.
>
>Suggested-by: Tejun Heo <tj@kernel.org>
>Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>

Acked-by: Davidlohr Bueso <dave@stgolabs.net>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] cxl/pci: replace use of system_wq with system_percpu_wq
  2025-10-31 14:49 ` Ira Weiny
@ 2025-10-31 16:50   ` Marco Crivellari
  0 siblings, 0 replies; 7+ messages in thread
From: Marco Crivellari @ 2025-10-31 16:50 UTC (permalink / raw)
  To: Ira Weiny
  Cc: linux-kernel, linux-cxl, Tejun Heo, Lai Jiangshan,
	Frederic Weisbecker, Sebastian Andrzej Siewior, Michal Hocko,
	Davidlohr Bueso, Jonathan Cameron, Dave Jiang, Alison Schofield,
	Vishal Verma, Dan Williams

On Fri, Oct 31, 2025 at 3:47 PM Ira Weiny <ira.weiny@intel.com> wrote:
>[...]
> A reference to:
>
> commit 128ea9f6ccfb6960293ae4212f4f97165e42222d
> Author: Marco Crivellari <marco.crivellari@suse.com>
> Date:   Sat Jun 14 15:35:29 2025 +0200
>
>     workqueue: Add system_percpu_wq and system_dfl_wq
>
> ...
>
> Would have been nice just to save reviewers time.  Regardless.
>
> Reviewed-by: Ira Weiny <ira.weiny@intel.com>

Many thanks, and sorry for the trouble!


--

Marco Crivellari

L3 Support Engineer, Technology & Product

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] cxl/pci: replace use of system_wq with system_percpu_wq
  2025-10-30 16:38 [PATCH] cxl/pci: replace use of system_wq with system_percpu_wq Marco Crivellari
                   ` (2 preceding siblings ...)
  2025-10-31 16:16 ` Davidlohr Bueso
@ 2025-11-03 23:44 ` Dave Jiang
  2025-11-04  8:59   ` Marco Crivellari
  3 siblings, 1 reply; 7+ messages in thread
From: Dave Jiang @ 2025-11-03 23:44 UTC (permalink / raw)
  To: Marco Crivellari, linux-kernel, linux-cxl
  Cc: Tejun Heo, Lai Jiangshan, Frederic Weisbecker,
	Sebastian Andrzej Siewior, Michal Hocko, Davidlohr Bueso,
	Jonathan Cameron, Alison Schofield, Vishal Verma, Ira Weiny,
	Dan Williams



On 10/30/25 9:38 AM, Marco Crivellari wrote:
> Currently if a user enqueue a work item using schedule_delayed_work() the
> used wq is "system_wq" (per-cpu wq) while queue_delayed_work() use
> WORK_CPU_UNBOUND (used when a cpu is not specified). The same applies to
> schedule_work() that is using system_wq and queue_work(), that makes use
> again of WORK_CPU_UNBOUND.
> 
> This lack of consistency cannot be addressed without refactoring the API.
> 
> system_wq should be the per-cpu workqueue, yet in this name nothing makes
> that clear, so replace system_wq with system_percpu_wq.
> 
> The old wq (system_wq) will be kept for a few release cycles.
> 
> Suggested-by: Tejun Heo <tj@kernel.org>
> Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>

Applied to cxl/next
952e9057e66c17a9718232664368ffdaca468f93

> ---
>  drivers/cxl/pci.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c
> index bd100ac31672..0be4e508affe 100644
> --- a/drivers/cxl/pci.c
> +++ b/drivers/cxl/pci.c
> @@ -136,7 +136,7 @@ static irqreturn_t cxl_pci_mbox_irq(int irq, void *id)
>  	if (opcode == CXL_MBOX_OP_SANITIZE) {
>  		mutex_lock(&cxl_mbox->mbox_mutex);
>  		if (mds->security.sanitize_node)
> -			mod_delayed_work(system_wq, &mds->security.poll_dwork, 0);
> +			mod_delayed_work(system_percpu_wq, &mds->security.poll_dwork, 0);
>  		mutex_unlock(&cxl_mbox->mbox_mutex);
>  	} else {
>  		/* short-circuit the wait in __cxl_pci_mbox_send_cmd() */


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] cxl/pci: replace use of system_wq with system_percpu_wq
  2025-11-03 23:44 ` Dave Jiang
@ 2025-11-04  8:59   ` Marco Crivellari
  0 siblings, 0 replies; 7+ messages in thread
From: Marco Crivellari @ 2025-11-04  8:59 UTC (permalink / raw)
  To: Dave Jiang
  Cc: linux-kernel, linux-cxl, Tejun Heo, Lai Jiangshan,
	Frederic Weisbecker, Sebastian Andrzej Siewior, Michal Hocko,
	Davidlohr Bueso, Jonathan Cameron, Alison Schofield, Vishal Verma,
	Ira Weiny, Dan Williams

On Tue, Nov 4, 2025 at 12:44 AM Dave Jiang <dave.jiang@intel.com> wrote:
>[...]
> Applied to cxl/next
> 952e9057e66c17a9718232664368ffdaca468f93

Many thanks Dave!

-- 

Marco Crivellari

L3 Support Engineer, Technology & Product

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-11-04  8:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-30 16:38 [PATCH] cxl/pci: replace use of system_wq with system_percpu_wq Marco Crivellari
2025-10-30 16:56 ` Dave Jiang
2025-10-31 14:49 ` Ira Weiny
2025-10-31 16:50   ` Marco Crivellari
2025-10-31 16:16 ` Davidlohr Bueso
2025-11-03 23:44 ` Dave Jiang
2025-11-04  8:59   ` Marco Crivellari

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox