From: Alice Ryhl <aliceryhl@google.com>
To: Yury Norov <yury.norov@gmail.com>
Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Arve Hjønnevåg" <arve@android.com>,
"Todd Kjos" <tkjos@android.com>,
"Martijn Coenen" <maco@android.com>,
"Joel Fernandes" <joelagnelf@nvidia.com>,
"Christian Brauner" <brauner@kernel.org>,
"Carlos Llamas" <cmllamas@google.com>,
"Suren Baghdasaryan" <surenb@google.com>,
"Burak Emir" <bqe@google.com>, "Miguel Ojeda" <ojeda@kernel.org>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <lossin@kernel.org>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Trevor Gross" <tmgross@umich.edu>,
"Danilo Krummrich" <dakr@kernel.org>,
rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/5] rust: bitmap: add BitmapVec::new_small()
Date: Fri, 24 Oct 2025 09:15:06 +0000 [thread overview]
Message-ID: <aPtDmn7fSn5LcuC7@google.com> (raw)
In-Reply-To: <aPpmxy_oYoJeeqfr@yury>
On Thu, Oct 23, 2025 at 01:33:03PM -0400, Yury Norov wrote:
> On Tue, Oct 21, 2025 at 01:32:44PM +0000, Alice Ryhl wrote:
> > This constructor is useful when you just want to create a BitmapVec
> > without allocating but don't care how large it is.
> >
> > Signed-off-by: Alice Ryhl <aliceryhl@google.com>
> > ---
> > rust/kernel/bitmap.rs | 10 ++++++++++
> > 1 file changed, 10 insertions(+)
> >
> > diff --git a/rust/kernel/bitmap.rs b/rust/kernel/bitmap.rs
> > index 15fa23b45054b9272415fcc000e3e3b52c74d7c1..4ffe9eb0f208a3d62016e00297f5a0800aa33336 100644
> > --- a/rust/kernel/bitmap.rs
> > +++ b/rust/kernel/bitmap.rs
> > @@ -232,6 +232,16 @@ impl BitmapVec {
> > /// The maximum length that avoids allocating.
> > pub const NO_ALLOC_MAX_LEN: usize = BITS_PER_LONG;
> >
> > + /// Constructs a new [`BitmapVec`] without allocating.
> > + #[inline]
> > + pub fn new_small() -> Self {
>
> Nit: maybe:
>
> /// Construct a longest possible inline [`BitmapVec`].
> #[inline]
> pub fn new_inline() ...
>
> This 'small vs large' lingo is internal to bitmaps. I don't think it
> is worth to expose it in the interfaces. 'Inline' or 'inplace' sounds
> better to me.
>
> With that,
>
> Acked-by: Yury Norov (NVIDIA) <yury.norov@gmail.com>
Makes sense. Will reword to 'inline', thanks!
> > + // INVARIANT: `nbits <= NO_ALLOC_MAX_LEN`, so an inline bitmap is the right repr.
> > + BitmapVec {
> > + repr: BitmapRepr { bitmap: 0 },
> > + nbits: BitmapVec::NO_ALLOC_MAX_LEN,
>
> A side note: after merging bitfields, we may switch inline bitmaps to to
>
> bitfield!() {
> 0:31 nbits;
> 32:64 bitmap;
> }
Personally I think I would prefer to keep the union only on the `repr`
field like it is now.
Alice
next prev parent reply other threads:[~2025-10-24 9:15 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-21 13:32 [PATCH v2 0/5] Use Rust Bitmap from Rust Binder driver Alice Ryhl
2025-10-21 13:32 ` [PATCH v2 1/5] rust: bitmap: add MAX_LEN and NO_ALLOC_MAX_LEN constants Alice Ryhl
2025-10-21 13:32 ` [PATCH v2 2/5] rust: bitmap: add BitmapVec::new_small() Alice Ryhl
2025-10-21 14:05 ` Burak Emir
2025-10-23 17:33 ` Yury Norov
2025-10-24 9:15 ` Alice Ryhl [this message]
2025-10-21 13:32 ` [PATCH v2 3/5] rust: id_pool: do not supply starting capacity Alice Ryhl
2025-10-21 14:09 ` Burak Emir
2025-10-23 17:37 ` Yury Norov
2025-10-24 9:17 ` Alice Ryhl
2025-10-21 13:32 ` [PATCH v2 4/5] rust: id_pool: do not immediately acquire new ids Alice Ryhl
2025-10-21 14:13 ` Burak Emir
2025-10-23 0:36 ` kernel test robot
2025-10-21 13:32 ` [PATCH v2 5/5] rust_binder: use bitmap for allocation of handles Alice Ryhl
2025-10-22 10:14 ` Burak Emir
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=aPtDmn7fSn5LcuC7@google.com \
--to=aliceryhl@google.com \
--cc=a.hindborg@kernel.org \
--cc=arve@android.com \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=bqe@google.com \
--cc=brauner@kernel.org \
--cc=cmllamas@google.com \
--cc=dakr@kernel.org \
--cc=gary@garyguo.net \
--cc=gregkh@linuxfoundation.org \
--cc=joelagnelf@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lossin@kernel.org \
--cc=maco@android.com \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=surenb@google.com \
--cc=tkjos@android.com \
--cc=tmgross@umich.edu \
--cc=yury.norov@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.