Messages in this thread Patch in this message | | | Date | Wed, 13 Mar 2024 10:08:32 -0700 | From | Boqun Feng <> | Subject | Re: [PATCH v3 0/2] Arc methods for linked list |
| |
On Mon, Mar 11, 2024 at 04:08:17PM +0000, Alice Ryhl wrote: > This patchset contains two useful methods for the Arc type. They will be > used in my Rust linked list implementation, which Rust Binder uses. See > the Rust Binder RFC [1] for more information. Both these commits and > the linked list that uses them are present in the branch referenced by > the RFC. > > I will send the linked list to the mailing list soon. >
For the whole series:
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Note there's a nit for rustfmt fix of patch #2 (which is reported by Miguel):
diff --git a/rust/kernel/sync/arc.rs b/rust/kernel/sync/arc.rs index 7cf066cfb321..c9773d0050c2 100644 --- a/rust/kernel/sync/arc.rs +++ b/rust/kernel/sync/arc.rs @@ -345,7 +345,9 @@ pub fn into_unique_or_drop(self) -> Option<Pin<UniqueArc<T>>> { // INVARIANT: We own the only refcount to this arc, so we may create a `UniqueArc`. We // must pin the `UniqueArc` because the values was previously in an `Arc`, and they pin // their values. - Some(Pin::from(UniqueArc { inner: ManuallyDrop::into_inner(me) })) + Some(Pin::from(UniqueArc { + inner: ManuallyDrop::into_inner(me), + })) } else { None } Regards, Boqun
> Link: https://lore.kernel.org/rust-for-linux/20231101-rust-binder-v1-0-08ba9197f637@google.com/ [1] > Signed-off-by: Alice Ryhl <aliceryhl@google.com> > --- > Changes in v3: > - No changes to `ArcBorrow::from_raw`, or than adding a Reviewed-by. > - Update SAFETY comment on `refcount_dec_and_test` call. > - Simplify the creation of the `UniqueArc` in `into_unique_or_drop`. > - Link to v2: https://lore.kernel.org/r/20240228-arc-for-list-v2-0-ae93201426b4@google.com > > Changes in v2: > - Move raw_to_inner_ptr to ArcInner and rename to container_of. > - Reword safety conditions for raw_to_inner_ptr to match its users. > - Link to v1: https://lore.kernel.org/r/20240219-arc-for-list-v1-0-d98cd92c760b@google.com > > --- > Alice Ryhl (2): > rust: sync: add `ArcBorrow::from_raw` > rust: sync: add `Arc::into_unique_or_drop` > > rust/kernel/sync/arc.rs | 106 ++++++++++++++++++++++++++++++++++++++++-------- > 1 file changed, 88 insertions(+), 18 deletions(-) > --- > base-commit: 768409cff6cc89fe1194da880537a09857b6e4db > change-id: 20240209-arc-for-list-a2c126c2ad5c > > Best regards, > -- > Alice Ryhl <aliceryhl@google.com> >
| |