* [PATCH v2 0/3] Replace uses of system_wq and system_unbound_wq
@ 2025-11-20 10:08 Marco Crivellari
2025-11-20 10:08 ` [PATCH v2 1/3] wifi: iwlwifi: replace use of system_unbound_wq with system_dfl_wq Marco Crivellari
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Marco Crivellari @ 2025-11-20 10:08 UTC (permalink / raw)
To: linux-kernel, linux-wireless
Cc: Tejun Heo, Lai Jiangshan, Frederic Weisbecker,
Sebastian Andrzej Siewior, Marco Crivellari, Michal Hocko,
Miri Korenblit, Johannes Berg
Hi,
=== Current situation: problems ===
Let's consider a nohz_full system with isolated CPUs: wq_unbound_cpumask is
set to the housekeeping CPUs, for !WQ_UNBOUND the local CPU is selected.
This leads to different scenarios if a work item is scheduled on an
isolated CPU where "delay" value is 0 or greater then 0:
schedule_delayed_work(, 0);
This will be handled by __queue_work() that will queue the work item on the
current local (isolated) CPU, while:
schedule_delayed_work(, 1);
Will move the timer on an housekeeping CPU, and schedule the work there.
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.
=== Recent changes to the WQ API ===
The following, address the recent changes in the Workqueue API:
- commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and system_dfl_wq")
- commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag")
The old workqueues will be removed in a future release cycle.
=== Introduced Changes by this series ===
1) [P 1-2-3] Replace uses of system_unbound_wq and system_wq
Switch to using system_dfl_wq and system_percpu_wq because
system_unbound_wq and system_wq are going away
as part of a workqueue restructuring.
No intended behavior changes:
system_wq -> system_percpu_wq
system_unbound_wq -> system_dfl_wq
Thanks!
---
Changes in v2:
- improved commit logs
- P3: wrong commit log was about system_unbound_wq; subject changed with
system_wq.
Marco Crivellari (3):
wifi: iwlwifi: replace use of system_unbound_wq with system_dfl_wq
wifi: iwlwifi: fw: replace use of system_unbound_wq with system_dfl_wq
wifi: iwlwifi: nvm: replace use of system_wq with system_percpu_wq
drivers/net/wireless/intel/iwlwifi/fw/dbg.c | 4 ++--
drivers/net/wireless/intel/iwlwifi/iwl-trans.h | 2 +-
drivers/net/wireless/intel/iwlwifi/mvm/tdls.c | 6 +++---
3 files changed, 6 insertions(+), 6 deletions(-)
--
2.51.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/3] wifi: iwlwifi: replace use of system_unbound_wq with system_dfl_wq
2025-11-20 10:08 [PATCH v2 0/3] Replace uses of system_wq and system_unbound_wq Marco Crivellari
@ 2025-11-20 10:08 ` Marco Crivellari
2026-02-09 8:01 ` Korenblit, Miriam Rachel
2025-11-20 10:08 ` [PATCH v2 2/3] wifi: iwlwifi: fw: " Marco Crivellari
` (2 subsequent siblings)
3 siblings, 1 reply; 10+ messages in thread
From: Marco Crivellari @ 2025-11-20 10:08 UTC (permalink / raw)
To: linux-kernel, linux-wireless
Cc: Tejun Heo, Lai Jiangshan, Frederic Weisbecker,
Sebastian Andrzej Siewior, Marco Crivellari, Michal Hocko,
Miri Korenblit, Johannes Berg
This patch continues the effort to refactor workqueue APIs, which has begun
with the changes introducing new workqueues and a new alloc_workqueue flag:
commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and system_dfl_wq")
commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag")
The point of the refactoring is to eventually alter the default behavior of
workqueues to become unbound by default so that their workload placement is
optimized by the scheduler.
Before that to happen after a careful review and conversion of each individual
case, workqueue users must be converted to the better named new workqueues with
no intended behaviour changes:
system_wq -> system_percpu_wq
system_unbound_wq -> system_dfl_wq
This way the old obsolete workqueues (system_wq, system_unbound_wq) can be
removed in the future.
Suggested-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>
---
drivers/net/wireless/intel/iwlwifi/iwl-trans.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-trans.h b/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
index a0cc5d7745e8..7e84074e1a3c 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
@@ -1092,7 +1092,7 @@ static inline void iwl_trans_schedule_reset(struct iwl_trans *trans,
*/
trans->restart.during_reset = test_bit(STATUS_IN_SW_RESET,
&trans->status);
- queue_delayed_work(system_unbound_wq, &trans->restart.wk, 0);
+ queue_delayed_work(system_dfl_wq, &trans->restart.wk, 0);
}
static inline void iwl_trans_fw_error(struct iwl_trans *trans,
--
2.51.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 2/3] wifi: iwlwifi: fw: replace use of system_unbound_wq with system_dfl_wq
2025-11-20 10:08 [PATCH v2 0/3] Replace uses of system_wq and system_unbound_wq Marco Crivellari
2025-11-20 10:08 ` [PATCH v2 1/3] wifi: iwlwifi: replace use of system_unbound_wq with system_dfl_wq Marco Crivellari
@ 2025-11-20 10:08 ` Marco Crivellari
2026-02-09 8:01 ` Korenblit, Miriam Rachel
2025-11-20 10:08 ` [PATCH v2 3/3] wifi: iwlwifi: nvm: replace use of system_wq with system_percpu_wq Marco Crivellari
2025-12-24 15:27 ` [PATCH v2 0/3] Replace uses of system_wq and system_unbound_wq Marco Crivellari
3 siblings, 1 reply; 10+ messages in thread
From: Marco Crivellari @ 2025-11-20 10:08 UTC (permalink / raw)
To: linux-kernel, linux-wireless
Cc: Tejun Heo, Lai Jiangshan, Frederic Weisbecker,
Sebastian Andrzej Siewior, Marco Crivellari, Michal Hocko,
Miri Korenblit, Johannes Berg
This patch continues the effort to refactor workqueue APIs, which has begun
with the changes introducing new workqueues and a new alloc_workqueue flag:
commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and system_dfl_wq")
commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag")
The point of the refactoring is to eventually alter the default behavior of
workqueues to become unbound by default so that their workload placement is
optimized by the scheduler.
Before that to happen after a careful review and conversion of each individual
case, workqueue users must be converted to the better named new workqueues with
no intended behaviour changes:
system_wq -> system_percpu_wq
system_unbound_wq -> system_dfl_wq
This way the old obsolete workqueues (system_wq, system_unbound_wq) can be
removed in the future.
Suggested-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>
---
drivers/net/wireless/intel/iwlwifi/fw/dbg.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/dbg.c b/drivers/net/wireless/intel/iwlwifi/fw/dbg.c
index 2ce55859641c..e5f31b82339a 100644
--- a/drivers/net/wireless/intel/iwlwifi/fw/dbg.c
+++ b/drivers/net/wireless/intel/iwlwifi/fw/dbg.c
@@ -2933,7 +2933,7 @@ int iwl_fw_dbg_collect_desc(struct iwl_fw_runtime *fwrt,
IWL_WARN(fwrt, "Collecting data: trigger %d fired.\n",
le32_to_cpu(desc->trig_desc.type));
- queue_delayed_work(system_unbound_wq, &wk_data->wk,
+ queue_delayed_work(system_dfl_wq, &wk_data->wk,
usecs_to_jiffies(delay));
return 0;
@@ -3237,7 +3237,7 @@ int iwl_fw_dbg_ini_collect(struct iwl_fw_runtime *fwrt,
if (sync)
iwl_fw_dbg_collect_sync(fwrt, idx);
else
- queue_delayed_work(system_unbound_wq,
+ queue_delayed_work(system_dfl_wq,
&fwrt->dump.wks[idx].wk,
usecs_to_jiffies(delay));
--
2.51.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 3/3] wifi: iwlwifi: nvm: replace use of system_wq with system_percpu_wq
2025-11-20 10:08 [PATCH v2 0/3] Replace uses of system_wq and system_unbound_wq Marco Crivellari
2025-11-20 10:08 ` [PATCH v2 1/3] wifi: iwlwifi: replace use of system_unbound_wq with system_dfl_wq Marco Crivellari
2025-11-20 10:08 ` [PATCH v2 2/3] wifi: iwlwifi: fw: " Marco Crivellari
@ 2025-11-20 10:08 ` Marco Crivellari
2026-02-09 7:58 ` Korenblit, Miriam Rachel
2025-12-24 15:27 ` [PATCH v2 0/3] Replace uses of system_wq and system_unbound_wq Marco Crivellari
3 siblings, 1 reply; 10+ messages in thread
From: Marco Crivellari @ 2025-11-20 10:08 UTC (permalink / raw)
To: linux-kernel, linux-wireless
Cc: Tejun Heo, Lai Jiangshan, Frederic Weisbecker,
Sebastian Andrzej Siewior, Marco Crivellari, Michal Hocko,
Miri Korenblit, Johannes Berg
This patch continues the effort to refactor workqueue APIs, which has begun
with the changes introducing new workqueues and a new alloc_workqueue flag:
commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and system_dfl_wq")
commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag")
The point of the refactoring is to eventually alter the default behavior of
workqueues to become unbound by default so that their workload placement is
optimized by the scheduler.
Before that to happen after a careful review and conversion of each individual
case, workqueue users must be converted to the better named new workqueues with
no intended behaviour changes:
system_wq -> system_percpu_wq
system_unbound_wq -> system_dfl_wq
This way the old obsolete workqueues (system_wq, system_unbound_wq) can be
removed in the future.
Suggested-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>
---
drivers/net/wireless/intel/iwlwifi/mvm/tdls.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tdls.c b/drivers/net/wireless/intel/iwlwifi/mvm/tdls.c
index 36379b738de1..0df31639fa5e 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/tdls.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tdls.c
@@ -234,7 +234,7 @@ void iwl_mvm_rx_tdls_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb)
* Also convert TU to msec.
*/
delay = TU_TO_MS(vif->bss_conf.dtim_period * vif->bss_conf.beacon_int);
- mod_delayed_work(system_wq, &mvm->tdls_cs.dwork,
+ mod_delayed_work(system_percpu_wq, &mvm->tdls_cs.dwork,
msecs_to_jiffies(delay));
iwl_mvm_tdls_update_cs_state(mvm, IWL_MVM_TDLS_SW_ACTIVE);
@@ -548,7 +548,7 @@ iwl_mvm_tdls_channel_switch(struct ieee80211_hw *hw,
*/
delay = 2 * TU_TO_MS(vif->bss_conf.dtim_period *
vif->bss_conf.beacon_int);
- mod_delayed_work(system_wq, &mvm->tdls_cs.dwork,
+ mod_delayed_work(system_percpu_wq, &mvm->tdls_cs.dwork,
msecs_to_jiffies(delay));
return 0;
}
@@ -659,6 +659,6 @@ iwl_mvm_tdls_recv_channel_switch(struct ieee80211_hw *hw,
/* register a timeout in case we don't succeed in switching */
delay = vif->bss_conf.dtim_period * vif->bss_conf.beacon_int *
1024 / 1000;
- mod_delayed_work(system_wq, &mvm->tdls_cs.dwork,
+ mod_delayed_work(system_percpu_wq, &mvm->tdls_cs.dwork,
msecs_to_jiffies(delay));
}
--
2.51.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/3] Replace uses of system_wq and system_unbound_wq
2025-11-20 10:08 [PATCH v2 0/3] Replace uses of system_wq and system_unbound_wq Marco Crivellari
` (2 preceding siblings ...)
2025-11-20 10:08 ` [PATCH v2 3/3] wifi: iwlwifi: nvm: replace use of system_wq with system_percpu_wq Marco Crivellari
@ 2025-12-24 15:27 ` Marco Crivellari
2026-02-04 11:03 ` Marco Crivellari
3 siblings, 1 reply; 10+ messages in thread
From: Marco Crivellari @ 2025-12-24 15:27 UTC (permalink / raw)
To: linux-kernel, linux-wireless
Cc: Tejun Heo, Lai Jiangshan, Frederic Weisbecker,
Sebastian Andrzej Siewior, Michal Hocko, Miri Korenblit,
Johannes Berg
On Thu, Nov 20, 2025 at 11:08 AM Marco Crivellari
<marco.crivellari@suse.com> wrote:
> [...]
> Marco Crivellari (3):
> wifi: iwlwifi: replace use of system_unbound_wq with system_dfl_wq
> wifi: iwlwifi: fw: replace use of system_unbound_wq with system_dfl_wq
> wifi: iwlwifi: nvm: replace use of system_wq with system_percpu_wq
>
> drivers/net/wireless/intel/iwlwifi/fw/dbg.c | 4 ++--
> drivers/net/wireless/intel/iwlwifi/iwl-trans.h | 2 +-
> drivers/net/wireless/intel/iwlwifi/mvm/tdls.c | 6 +++---
> 3 files changed, 6 insertions(+), 6 deletions(-)
Gentle ping.
Thanks!
--
Marco Crivellari
L3 Support Engineer
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/3] Replace uses of system_wq and system_unbound_wq
2025-12-24 15:27 ` [PATCH v2 0/3] Replace uses of system_wq and system_unbound_wq Marco Crivellari
@ 2026-02-04 11:03 ` Marco Crivellari
0 siblings, 0 replies; 10+ messages in thread
From: Marco Crivellari @ 2026-02-04 11:03 UTC (permalink / raw)
To: linux-kernel, linux-wireless
Cc: Tejun Heo, Lai Jiangshan, Frederic Weisbecker,
Sebastian Andrzej Siewior, Michal Hocko, Miri Korenblit,
Johannes Berg
On Wed, Dec 24, 2025 at 4:27 PM Marco Crivellari
<marco.crivellari@suse.com> wrote:
> [...]
> > Marco Crivellari (3):
> > wifi: iwlwifi: replace use of system_unbound_wq with system_dfl_wq
> > wifi: iwlwifi: fw: replace use of system_unbound_wq with system_dfl_wq
> > wifi: iwlwifi: nvm: replace use of system_wq with system_percpu_wq
> >
> > drivers/net/wireless/intel/iwlwifi/fw/dbg.c | 4 ++--
> > drivers/net/wireless/intel/iwlwifi/iwl-trans.h | 2 +-
> > drivers/net/wireless/intel/iwlwifi/mvm/tdls.c | 6 +++---
> > 3 files changed, 6 insertions(+), 6 deletions(-)
>
> Gentle ping.
>
> Thanks!
Gentle ping.
Thanks!
--
Marco Crivellari
L3 Support Engineer
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [PATCH v2 3/3] wifi: iwlwifi: nvm: replace use of system_wq with system_percpu_wq
2025-11-20 10:08 ` [PATCH v2 3/3] wifi: iwlwifi: nvm: replace use of system_wq with system_percpu_wq Marco Crivellari
@ 2026-02-09 7:58 ` Korenblit, Miriam Rachel
2026-02-10 14:22 ` Marco Crivellari
0 siblings, 1 reply; 10+ messages in thread
From: Korenblit, Miriam Rachel @ 2026-02-09 7:58 UTC (permalink / raw)
To: Marco Crivellari, linux-kernel, linux-wireless
Cc: Tejun Heo, Lai Jiangshan, Frederic Weisbecker,
Sebastian Andrzej Siewior, Michal Hocko, Johannes Berg
> -----Original Message-----
> From: Marco Crivellari <marco.crivellari@suse.com>
> Sent: Thursday, November 20, 2025 12:09 PM
> To: linux-kernel@vger.kernel.org; linux-wireless@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>; Korenblit, Miriam Rachel
> <miriam.rachel.korenblit@intel.com>; Johannes Berg
> <johannes@sipsolutions.net>
> Subject: [PATCH v2 3/3] wifi: iwlwifi: nvm: replace use of system_wq with
Please change nvm->mvm.
Otherwise looks good to me
> system_percpu_wq
>
> This patch continues the effort to refactor workqueue APIs, which has begun with
> the changes introducing new workqueues and a new alloc_workqueue flag:
>
> commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and
> system_dfl_wq")
> commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag")
>
> The point of the refactoring is to eventually alter the default behavior of
> workqueues to become unbound by default so that their workload placement is
> optimized by the scheduler.
>
> Before that to happen after a careful review and conversion of each individual
> case, workqueue users must be converted to the better named new workqueues
> with no intended behaviour changes:
>
> system_wq -> system_percpu_wq
> system_unbound_wq -> system_dfl_wq
>
> This way the old obsolete workqueues (system_wq, system_unbound_wq) can be
> removed in the future.
>
> Suggested-by: Tejun Heo <tj@kernel.org>
> Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>
> ---
> 2.51.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [PATCH v2 1/3] wifi: iwlwifi: replace use of system_unbound_wq with system_dfl_wq
2025-11-20 10:08 ` [PATCH v2 1/3] wifi: iwlwifi: replace use of system_unbound_wq with system_dfl_wq Marco Crivellari
@ 2026-02-09 8:01 ` Korenblit, Miriam Rachel
0 siblings, 0 replies; 10+ messages in thread
From: Korenblit, Miriam Rachel @ 2026-02-09 8:01 UTC (permalink / raw)
To: Marco Crivellari, linux-kernel, linux-wireless
Cc: Tejun Heo, Lai Jiangshan, Frederic Weisbecker,
Sebastian Andrzej Siewior, Michal Hocko, Johannes Berg
> -----Original Message-----
> From: Marco Crivellari <marco.crivellari@suse.com>
> Sent: Thursday, November 20, 2025 12:09 PM
> To: linux-kernel@vger.kernel.org; linux-wireless@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>; Korenblit, Miriam Rachel
> <miriam.rachel.korenblit@intel.com>; Johannes Berg
> <johannes@sipsolutions.net>
> Subject: [PATCH v2 1/3] wifi: iwlwifi: replace use of system_unbound_wq with
> system_dfl_wq
>
> This patch continues the effort to refactor workqueue APIs, which has begun with
> the changes introducing new workqueues and a new alloc_workqueue flag:
>
> commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and
> system_dfl_wq")
> commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag")
>
> The point of the refactoring is to eventually alter the default behavior of
> workqueues to become unbound by default so that their workload placement is
> optimized by the scheduler.
>
> Before that to happen after a careful review and conversion of each individual
> case, workqueue users must be converted to the better named new workqueues
> with no intended behaviour changes:
>
> system_wq -> system_percpu_wq
> system_unbound_wq -> system_dfl_wq
>
> This way the old obsolete workqueues (system_wq, system_unbound_wq) can be
> removed in the future.
>
> Suggested-by: Tejun Heo <tj@kernel.org>
> Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>
> ---
> drivers/net/wireless/intel/iwlwifi/iwl-trans.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
> b/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
> index a0cc5d7745e8..7e84074e1a3c 100644
> --- a/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
> +++ b/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
> @@ -1092,7 +1092,7 @@ static inline void iwl_trans_schedule_reset(struct
> iwl_trans *trans,
> */
> trans->restart.during_reset = test_bit(STATUS_IN_SW_RESET,
> &trans->status);
> - queue_delayed_work(system_unbound_wq, &trans->restart.wk, 0);
> + queue_delayed_work(system_dfl_wq, &trans->restart.wk, 0);
> }
>
> static inline void iwl_trans_fw_error(struct iwl_trans *trans,
> --
> 2.51.1
Acked-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [PATCH v2 2/3] wifi: iwlwifi: fw: replace use of system_unbound_wq with system_dfl_wq
2025-11-20 10:08 ` [PATCH v2 2/3] wifi: iwlwifi: fw: " Marco Crivellari
@ 2026-02-09 8:01 ` Korenblit, Miriam Rachel
0 siblings, 0 replies; 10+ messages in thread
From: Korenblit, Miriam Rachel @ 2026-02-09 8:01 UTC (permalink / raw)
To: Marco Crivellari, linux-kernel, linux-wireless
Cc: Tejun Heo, Lai Jiangshan, Frederic Weisbecker,
Sebastian Andrzej Siewior, Michal Hocko, Johannes Berg
> -----Original Message-----
> From: Marco Crivellari <marco.crivellari@suse.com>
> Sent: Thursday, November 20, 2025 12:09 PM
> To: linux-kernel@vger.kernel.org; linux-wireless@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>; Korenblit, Miriam Rachel
> <miriam.rachel.korenblit@intel.com>; Johannes Berg
> <johannes@sipsolutions.net>
> Subject: [PATCH v2 2/3] wifi: iwlwifi: fw: replace use of system_unbound_wq
> with system_dfl_wq
>
> This patch continues the effort to refactor workqueue APIs, which has begun with
> the changes introducing new workqueues and a new alloc_workqueue flag:
>
> commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and
> system_dfl_wq")
> commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag")
>
> The point of the refactoring is to eventually alter the default behavior of
> workqueues to become unbound by default so that their workload placement is
> optimized by the scheduler.
>
> Before that to happen after a careful review and conversion of each individual
> case, workqueue users must be converted to the better named new workqueues
> with no intended behaviour changes:
>
> system_wq -> system_percpu_wq
> system_unbound_wq -> system_dfl_wq
>
> This way the old obsolete workqueues (system_wq, system_unbound_wq) can be
> removed in the future.
>
> Suggested-by: Tejun Heo <tj@kernel.org>
> Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>
> ---
> drivers/net/wireless/intel/iwlwifi/fw/dbg.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/intel/iwlwifi/fw/dbg.c
> b/drivers/net/wireless/intel/iwlwifi/fw/dbg.c
> index 2ce55859641c..e5f31b82339a 100644
> --- a/drivers/net/wireless/intel/iwlwifi/fw/dbg.c
> +++ b/drivers/net/wireless/intel/iwlwifi/fw/dbg.c
> @@ -2933,7 +2933,7 @@ int iwl_fw_dbg_collect_desc(struct iwl_fw_runtime
> *fwrt,
> IWL_WARN(fwrt, "Collecting data: trigger %d fired.\n",
> le32_to_cpu(desc->trig_desc.type));
>
> - queue_delayed_work(system_unbound_wq, &wk_data->wk,
> + queue_delayed_work(system_dfl_wq, &wk_data->wk,
> usecs_to_jiffies(delay));
>
> return 0;
> @@ -3237,7 +3237,7 @@ int iwl_fw_dbg_ini_collect(struct iwl_fw_runtime
> *fwrt,
> if (sync)
> iwl_fw_dbg_collect_sync(fwrt, idx);
> else
> - queue_delayed_work(system_unbound_wq,
> + queue_delayed_work(system_dfl_wq,
> &fwrt->dump.wks[idx].wk,
> usecs_to_jiffies(delay));
>
> --
> 2.51.1
Acked-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 3/3] wifi: iwlwifi: nvm: replace use of system_wq with system_percpu_wq
2026-02-09 7:58 ` Korenblit, Miriam Rachel
@ 2026-02-10 14:22 ` Marco Crivellari
0 siblings, 0 replies; 10+ messages in thread
From: Marco Crivellari @ 2026-02-10 14:22 UTC (permalink / raw)
To: Korenblit, Miriam Rachel
Cc: linux-kernel, linux-wireless, Tejun Heo, Lai Jiangshan,
Frederic Weisbecker, Sebastian Andrzej Siewior, Michal Hocko,
Johannes Berg
On Mon, Feb 9, 2026 at 8:59 AM Korenblit, Miriam Rachel
<miriam.rachel.korenblit@intel.com> wrote:
> Please change nvm->mvm.
> Otherwise looks good to me
> > system_percpu_wq
Hi,
Ouch, sure, I will do and submit a new version.
Thanks!
--
Marco Crivellari
L3 Support Engineer
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-02-10 14:23 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-20 10:08 [PATCH v2 0/3] Replace uses of system_wq and system_unbound_wq Marco Crivellari
2025-11-20 10:08 ` [PATCH v2 1/3] wifi: iwlwifi: replace use of system_unbound_wq with system_dfl_wq Marco Crivellari
2026-02-09 8:01 ` Korenblit, Miriam Rachel
2025-11-20 10:08 ` [PATCH v2 2/3] wifi: iwlwifi: fw: " Marco Crivellari
2026-02-09 8:01 ` Korenblit, Miriam Rachel
2025-11-20 10:08 ` [PATCH v2 3/3] wifi: iwlwifi: nvm: replace use of system_wq with system_percpu_wq Marco Crivellari
2026-02-09 7:58 ` Korenblit, Miriam Rachel
2026-02-10 14:22 ` Marco Crivellari
2025-12-24 15:27 ` [PATCH v2 0/3] Replace uses of system_wq and system_unbound_wq Marco Crivellari
2026-02-04 11:03 ` Marco Crivellari
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®