From: Danilo Krummrich <dakr@kernel.org>
To: Benno Lossin <benno.lossin@proton.me>
Cc: ojeda@kernel.org, alex.gaynor@gmail.com, wedsonaf@gmail.com,
boqun.feng@gmail.com, gary@garyguo.net, bjorn3_gh@protonmail.com,
a.hindborg@samsung.com, aliceryhl@google.com,
akpm@linux-foundation.org, daniel.almeida@collabora.com,
faith.ekstrand@collabora.com, boris.brezillon@collabora.com,
lina@asahilina.net, mcanal@igalia.com, zhiw@nvidia.com,
cjia@nvidia.com, jhubbard@nvidia.com, airlied@redhat.com,
ajanulgu@redhat.com, lyude@redhat.com,
linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org,
linux-mm@kvack.org
Subject: Re: [PATCH v8 16/29] rust: alloc: implement kernel `Vec` type
Date: Wed, 2 Oct 2024 17:20:06 +0200 [thread overview]
Message-ID: <Zv1kpqCihqrlCo6f@pollux> (raw)
In-Reply-To: <977af809-71f5-4a5a-8006-a283f8a6fc25@proton.me>
On Wed, Oct 02, 2024 at 03:02:18PM +0000, Benno Lossin wrote:
> On 01.10.24 16:59, Danilo Krummrich wrote:
> > `Vec` provides a contiguous growable array type with contents allocated
> > with the kernel's allocators (e.g. `Kmalloc`, `Vmalloc` or `KVmalloc`).
> >
> > In contrast to Rust's stdlib `Vec` type, the kernel `Vec` type considers
> > the kernel's GFP flags for all appropriate functions, always reports
> > allocation failures through `Result<_, AllocError>` and remains
> > independent from unstable features.
> >
> > Signed-off-by: Danilo Krummrich <dakr@kernel.org>
> > ---
> > rust/kernel/alloc.rs | 6 +
> > rust/kernel/alloc/kvec.rs | 637 ++++++++++++++++++++++++++++++++++++++
>
> Any reason against naming this `vec.rs`?
I think I didn't rename kvec.rs and kbox.rs because we'd need to escape "box" in
various places, e.g. in rust/kernel/alloc.rs:
```
pub mod r#box;
pub use self::r#box::Box;
pub use self::r#box::KBox;
pub use self::r#box::VBox;
pub use self::r#box::KVBox;
```
And it's a kernel specific implementation, so kbox.rs and kvec.rs still makes
sense. :)
>
> > rust/kernel/prelude.rs | 2 +-
> > 3 files changed, 644 insertions(+), 1 deletion(-)
> > create mode 100644 rust/kernel/alloc/kvec.rs
>
> I share Gary's opinion, let's do future improvements via
> good-first-issues/patches in the current cycle. But get this version
> merged now.
>
> Reviewed-by: Benno Lossin <benno.lossin@proton.me>
>
> ---
> Cheers,
> Benno
>
next prev parent reply other threads:[~2024-10-02 15:20 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-01 14:59 [PATCH v8 00/29] Generic `Allocator` support for Rust Danilo Krummrich
2024-10-01 14:59 ` [PATCH v8 01/29] rust: alloc: add `Allocator` trait Danilo Krummrich
2024-10-01 18:24 ` Gary Guo
2024-10-02 14:59 ` Benno Lossin
2024-10-01 14:59 ` [PATCH v8 02/29] rust: alloc: separate `aligned_size` from `krealloc_aligned` Danilo Krummrich
2024-10-01 14:59 ` [PATCH v8 03/29] rust: alloc: rename `KernelAllocator` to `Kmalloc` Danilo Krummrich
2024-10-01 14:59 ` [PATCH v8 04/29] rust: alloc: implement `ReallocFunc` Danilo Krummrich
2024-10-01 16:11 ` Benno Lossin
2024-10-01 18:25 ` Gary Guo
2024-10-01 14:59 ` [PATCH v8 05/29] rust: alloc: make `allocator` module public Danilo Krummrich
2024-10-01 16:01 ` Benno Lossin
2024-10-01 18:25 ` Gary Guo
2024-10-01 14:59 ` [PATCH v8 06/29] rust: alloc: implement `Allocator` for `Kmalloc` Danilo Krummrich
2024-10-01 16:01 ` Benno Lossin
2024-10-01 18:26 ` Gary Guo
2024-10-01 14:59 ` [PATCH v8 07/29] rust: alloc: add module `allocator_test` Danilo Krummrich
2024-10-01 14:59 ` [PATCH v8 08/29] rust: alloc: implement `Vmalloc` allocator Danilo Krummrich
2024-10-01 18:26 ` Gary Guo
2024-10-01 14:59 ` [PATCH v8 09/29] rust: alloc: implement `KVmalloc` allocator Danilo Krummrich
2024-10-01 18:27 ` Gary Guo
2024-10-01 14:59 ` [PATCH v8 10/29] rust: alloc: add __GFP_NOWARN to `Flags` Danilo Krummrich
2024-10-01 14:59 ` [PATCH v8 11/29] rust: alloc: implement kernel `Box` Danilo Krummrich
2024-10-01 18:28 ` Gary Guo
2024-10-03 23:00 ` Miguel Ojeda
2024-10-04 12:04 ` Danilo Krummrich
2024-10-01 14:59 ` [PATCH v8 12/29] rust: treewide: switch to our kernel `Box` type Danilo Krummrich
2024-10-01 14:59 ` [PATCH v8 13/29] rust: alloc: remove extension of std's `Box` Danilo Krummrich
2024-10-01 14:59 ` [PATCH v8 14/29] rust: alloc: add `Box` to prelude Danilo Krummrich
2024-10-01 14:59 ` [PATCH v8 15/29] rust: alloc: introduce `ArrayLayout` Danilo Krummrich
2024-10-01 18:31 ` Gary Guo
2024-10-03 0:27 ` kernel test robot
2024-10-01 14:59 ` [PATCH v8 16/29] rust: alloc: implement kernel `Vec` type Danilo Krummrich
2024-10-01 18:39 ` Gary Guo
2024-10-02 15:02 ` Benno Lossin
2024-10-02 15:20 ` Danilo Krummrich [this message]
2024-10-02 19:04 ` Benno Lossin
2024-10-03 6:05 ` kernel test robot
2024-10-01 14:59 ` [PATCH v8 17/29] rust: alloc: implement `IntoIterator` for `Vec` Danilo Krummrich
2024-10-01 14:59 ` [PATCH v8 18/29] rust: alloc: implement `collect` for `IntoIter` Danilo Krummrich
2024-10-01 14:59 ` [PATCH v8 19/29] rust: treewide: switch to the kernel `Vec` type Danilo Krummrich
2024-10-01 14:59 ` [PATCH v8 20/29] rust: alloc: remove `VecExt` extension Danilo Krummrich
2024-10-01 14:59 ` [PATCH v8 21/29] rust: alloc: add `Vec` to prelude Danilo Krummrich
2024-10-01 14:59 ` [PATCH v8 22/29] rust: error: use `core::alloc::LayoutError` Danilo Krummrich
2024-10-01 14:59 ` [PATCH v8 23/29] rust: error: check for config `test` in `Error::name` Danilo Krummrich
2024-10-01 14:59 ` [PATCH v8 24/29] rust: alloc: implement `contains` for `Flags` Danilo Krummrich
2024-10-01 15:00 ` [PATCH v8 25/29] rust: alloc: implement `Cmalloc` in module allocator_test Danilo Krummrich
2024-10-02 14:58 ` Benno Lossin
2024-10-02 20:37 ` Gary Guo
2024-10-01 15:00 ` [PATCH v8 26/29] rust: str: test: replace `alloc::format` Danilo Krummrich
2024-10-01 15:00 ` [PATCH v8 27/29] rust: alloc: update module comment of alloc.rs Danilo Krummrich
2024-10-01 15:00 ` [PATCH v8 28/29] kbuild: rust: remove the `alloc` crate and `GlobalAlloc` Danilo Krummrich
2024-10-01 15:00 ` [PATCH v8 29/29] MAINTAINERS: add entry for the Rust `alloc` module Danilo Krummrich
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=Zv1kpqCihqrlCo6f@pollux \
--to=dakr@kernel.org \
--cc=a.hindborg@samsung.com \
--cc=airlied@redhat.com \
--cc=ajanulgu@redhat.com \
--cc=akpm@linux-foundation.org \
--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=boris.brezillon@collabora.com \
--cc=cjia@nvidia.com \
--cc=daniel.almeida@collabora.com \
--cc=faith.ekstrand@collabora.com \
--cc=gary@garyguo.net \
--cc=jhubbard@nvidia.com \
--cc=lina@asahilina.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lyude@redhat.com \
--cc=mcanal@igalia.com \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=wedsonaf@gmail.com \
--cc=zhiw@nvidia.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.