diff options
author | Alice Ryhl <aliceryhl@google.com> | 2025-07-11 07:59:40 +0000 |
---|---|---|
committer | Miguel Ojeda <ojeda@kernel.org> | 2025-07-15 22:54:52 +0200 |
commit | 7c098cd5eaae557934f4e4ea0b2809a9972f6a5a (patch) | |
tree | 3115c9323b752ea6662c01d93292b3def3ffee8d /scripts/lib/kdoc/kdoc_output.py | |
parent | 64fb810bce03a4e2b4d3ecbba04bb97da3536dd8 (diff) |
workqueue: rust: add delayed work items
This patch is being sent for use in the various Rust GPU drivers that
are under development. It provides the additional feature of work items
that are executed after a delay.
The design of the existing workqueue is rather extensible, as most of
the logic is reused for delayed work items even though a different work
item type is required. The new logic consists of:
* A new DelayedWork struct that wraps struct delayed_work.
* A new impl_has_delayed_work! macro that provides adjusted versions of
the container_of logic, that is suitable with delayed work items.
* A `enqueue_delayed` method that can enqueue a delayed work item.
This patch does *not* rely on the fact that `struct delayed_work`
contains `struct work_struct` at offset zero. It will continue to work
even if the layout is changed to hold the `work` field at a different
offset.
Please see the example introduced at the top of the file for example
usage of delayed work items.
Acked-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20250711-workqueue-delay-v3-1-3fe17b18b9d1@google.com
[ Replaced `as _` with `as ffi::c_int` to clean warning. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Diffstat (limited to 'scripts/lib/kdoc/kdoc_output.py')
0 files changed, 0 insertions, 0 deletions