From: Andreas Hindborg <nmi@metaspace.dk>
To: Alice Ryhl <aliceryhl@google.com>
Cc: rust-for-linux@vger.kernel.org, "Miguel Ojeda" <ojeda@kernel.org>,
"Wedson Almeida Filho" <wedsonaf@gmail.com>,
"Tejun Heo" <tj@kernel.org>,
"Lai Jiangshan" <jiangshanlai@gmail.com>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <benno.lossin@proton.me>,
linux-kernel@vger.kernel.org, patches@lists.linux.dev
Subject: Re: [PATCH v1 0/7] Bindings for the workqueue
Date: Tue, 23 May 2023 16:14:37 +0200 [thread overview]
Message-ID: <87ilcjdthc.fsf@metaspace.dk> (raw)
In-Reply-To: <20230517203119.3160435-1-aliceryhl@google.com>
Alice Ryhl <aliceryhl@google.com> writes:
> This patchset contains bindings for the kernel workqueue.
>
> One of the primary goals behind the design used in this patch is that we
> must support embedding the `work_struct` as a field in user-provided
> types, because this allows you to submit things to the workqueue without
> having to allocate, making the submission infallible. If we didn't have
> to support this, then the patch would be much simpler. One of the main
> things that make it complicated is that we must ensure that the function
> pointer in the `work_struct` is compatible with the struct it is
> contained within.
>
> This patch could be significantly simplified if we already had the field
> projection bindings. However, we have decided to upstream the current
> version that does not depend on field projection first - the PR that
> introduces field projections will then include a commit that simplifies
> the workqueue implementation. (In particular, it would simplify the 5th
> patch in this series.)
>
> The first version of the workqueue bindings was written by Wedson, but
> I have rewritten much of it so that it uses the pin-init infrastructure
> and can be used with containers other than `Arc`.
>
> Alice Ryhl (4):
> rust: workqueue: add low-level workqueue bindings
> rust: workqueue: add helper for defining work_struct fields
> rust: workqueue: add safe API to workqueue
> rust: workqueue: add `try_spawn` helper method
>
> Wedson Almeida Filho (3):
> rust: add offset_of! macro
> rust: sync: add `Arc::{from_raw, into_raw}`
> rust: workqueue: define built-in queues
>
> rust/helpers.c | 8 +
> rust/kernel/lib.rs | 37 ++
> rust/kernel/sync/arc.rs | 44 +++
> rust/kernel/workqueue.rs | 715 +++++++++++++++++++++++++++++++++++++++
> scripts/Makefile.build | 2 +-
> 5 files changed, 805 insertions(+), 1 deletion(-)
> create mode 100644 rust/kernel/workqueue.rs
>
>
> base-commit: ac9a78681b921877518763ba0e89202254349d1b
This does not compile for me. Could you link dependencies to be applied
first?
Best regards,
Andreas
next prev parent reply other threads:[~2023-05-23 14:15 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-17 20:31 [PATCH v1 0/7] Bindings for the workqueue Alice Ryhl
2023-05-17 20:31 ` [PATCH v1 1/7] rust: workqueue: add low-level workqueue bindings Alice Ryhl
2023-05-18 14:51 ` Martin Rodriguez Reboredo
2023-05-19 9:40 ` Alice Ryhl
2023-05-19 12:04 ` Martin Rodriguez Reboredo
2023-05-23 10:03 ` Alice Ryhl
2023-05-30 8:26 ` Andreas Hindborg
2023-05-17 20:31 ` [PATCH v1 2/7] rust: add offset_of! macro Alice Ryhl
2023-05-18 14:51 ` Martin Rodriguez Reboredo
2023-05-23 15:48 ` Gary Guo
2023-05-24 12:26 ` Alice Ryhl
2023-05-30 8:40 ` Andreas Hindborg
2023-05-17 20:31 ` [PATCH v1 3/7] rust: sync: add `Arc::{from_raw, into_raw}` Alice Ryhl
2023-05-18 14:51 ` Martin Rodriguez Reboredo
2023-05-23 15:43 ` Gary Guo
2023-05-24 11:19 ` Alice Ryhl
2023-05-24 10:20 ` Andreas Hindborg
2023-05-24 11:11 ` Alice Ryhl
2023-05-25 7:45 ` Andreas Hindborg
2023-05-25 16:32 ` Gary Guo
2023-05-30 7:23 ` Andreas Hindborg
2023-05-17 20:31 ` [PATCH v1 4/7] rust: workqueue: define built-in queues Alice Ryhl
2023-05-18 14:52 ` Martin Rodriguez Reboredo
2023-05-25 11:40 ` Andreas Hindborg
2023-05-31 14:02 ` Alice Ryhl
2023-06-02 10:23 ` Andreas Hindborg (Samsung)
2023-05-17 20:31 ` [PATCH v1 5/7] rust: workqueue: add helper for defining work_struct fields Alice Ryhl
2023-05-18 23:18 ` Martin Rodriguez Reboredo
2023-05-24 14:50 ` Benno Lossin
2023-05-30 8:44 ` Andreas Hindborg
2023-05-31 9:00 ` Alice Ryhl
2023-05-31 10:18 ` Andreas Hindborg
2023-05-17 20:31 ` [PATCH v1 6/7] rust: workqueue: add safe API to workqueue Alice Ryhl
2023-05-19 0:17 ` Martin Rodriguez Reboredo
2023-05-23 11:07 ` Alice Ryhl
2023-05-30 7:19 ` Andreas Hindborg
2023-05-30 13:23 ` Martin Rodriguez Reboredo
2023-05-30 14:13 ` Miguel Ojeda
2023-05-24 14:51 ` Benno Lossin
2023-05-31 9:07 ` Alice Ryhl
2023-05-30 8:51 ` Andreas Hindborg
2023-05-31 14:07 ` Alice Ryhl
2023-05-17 20:31 ` [PATCH v1 7/7] rust: workqueue: add `try_spawn` helper method Alice Ryhl
2023-05-18 6:15 ` kernel test robot
2023-05-19 0:22 ` Martin Rodriguez Reboredo
2023-05-22 9:39 ` kernel test robot
2023-05-24 14:52 ` Benno Lossin
2023-05-31 14:03 ` Alice Ryhl
2023-05-17 21:48 ` [PATCH v1 0/7] Bindings for the workqueue Tejun Heo
2023-05-17 22:22 ` Alice Ryhl
2023-05-23 14:08 ` Andreas Hindborg
2023-05-23 14:14 ` Andreas Hindborg [this message]
2023-05-24 12:33 ` Alice Ryhl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ilcjdthc.fsf@metaspace.dk \
--to=nmi@metaspace.dk \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=gary@garyguo.net \
--cc=jiangshanlai@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ojeda@kernel.org \
--cc=patches@lists.linux.dev \
--cc=rust-for-linux@vger.kernel.org \
--cc=tj@kernel.org \
--cc=wedsonaf@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.