public inbox for rust-for-linux@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/2] Add new workqueue wrapper and enqueue on cpu functions
@ 2026-02-03 15:28 Marco Crivellari
  2026-02-03 15:28 ` [PATCH v4 1/2] rust: add system_dfl() around the new system_dfl_wq Marco Crivellari
  2026-02-03 15:28 ` [PATCH v4 2/2] rust: add system_percpu() and per-cpu enqueue functions Marco Crivellari
  0 siblings, 2 replies; 13+ messages in thread
From: Marco Crivellari @ 2026-02-03 15:28 UTC (permalink / raw)
  To: linux-kernel, rust-for-linux
  Cc: Tejun Heo, Lai Jiangshan, Frederic Weisbecker,
	Sebastian Andrzej Siewior, Marco Crivellari, Michal Hocko,
	Miguel Ojeda, Alex Gaynor, Alice Ryhl

Hi,

Recently the workqueue code has been changed introducing two new workqueue,
system_percpu_wq and system_dfl_wq, as a future replacement for system_wq and
system_unbound_wq respectively.

The change has been introduced by:
    'commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and system_dfl_wq")'

The old workqueue(s) will be removed in a next release cycle.

=== Introduced Changes by this series ===

1) [P 1] Add wrapper for the new system_dfl_wq
  -   This change introduce two new Rust functions in order to add a wrapper for
      the new wq(s) defined in the C code.

2) [P 2] Add wrapper for system_percpu_wq and two new functions
  -   The new functions added are enqueue_cpu() and enqueue_delayed_cpu() and
      are accepting a u32 parameter, the id of the CPU on which the work should
      be scheduled on.


Thanks!

---
Changes in v4:
- two new function added in the Queue implementation:
  * enqueue_cpu()
  * enqueue_delayed_cpu()

  These functions receive a u32 CPU id in order to schedule work on that CPU.

  More info can be found in the v3 discussion:
  https://lore.kernel.org/all/CAAofZF6jcCAdDjRp-7w7+_ZgOG4k3apxbSiKvGoUDVf5hw0GhA@mail.gmail.com/

Changes in v3:
- added a proper comment documenting the new added functions.

Changes in v2:
- added system_percpu() and system_dfl() in order to use the new
  wq defined in the C code.

- fixed misleading paragraph in the commit log (no warnings are currently
  present).

Marco Crivellari (2):
  rust: add system_dfl() around the new system_dfl_wq
  rust: add system_percpu() and per-cpu enqueue functions

 rust/kernel/sync/completion.rs |   2 +-
 rust/kernel/workqueue.rs       | 110 +++++++++++++++++++++++++++++++--
 2 files changed, 105 insertions(+), 7 deletions(-)

-- 
2.52.0


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

end of thread, other threads:[~2026-02-09 17:14 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-03 15:28 [PATCH v4 0/2] Add new workqueue wrapper and enqueue on cpu functions Marco Crivellari
2026-02-03 15:28 ` [PATCH v4 1/2] rust: add system_dfl() around the new system_dfl_wq Marco Crivellari
2026-02-03 15:39   ` Alice Ryhl
2026-02-03 15:53   ` Gary Guo
2026-02-04  9:43     ` Marco Crivellari
2026-02-04 16:50       ` Gary Guo
2026-02-09 17:14         ` Marco Crivellari
2026-02-04 10:52     ` Alice Ryhl
2026-02-04 15:16       ` Marco Crivellari
2026-02-04  0:28   ` kernel test robot
2026-02-03 15:28 ` [PATCH v4 2/2] rust: add system_percpu() and per-cpu enqueue functions Marco Crivellari
2026-02-03 15:39   ` Alice Ryhl
2026-02-04  1:29   ` kernel test robot

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