[RFC PATCH v2 0/4] rust: sync: Introduce Rcu*Box
Boqun Feng <[email protected]> Fri, 17 Jul 2026 22:32:43 -0700
| Newsgroups | org.kernel.vger.rcu,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-media,org.kernel.vger.rust-for-linux,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
v1: https://lore.kernel.org/rust-for-linux/[email protected]/ Changes since v1: * Rebased on 7.2-rc1 * As Alice pointed out [5], RcuFreeBox::with_rcu() should return a type that disallows extending the RCU read-side critical section to outlive the guard. As for now, no user needs with_rcu(), hence remove it. * Includes a not-for-merge example based on Alice's patch. v1's cover letter ----------------- (this series is based on Alice's RFC [1] and discussion around Philipp's patches [2], [3]) As an easy way to provide RCU-protected allocation, two major types are provided: - `RcuBox<T, A>`, inner T will be dropped and after a grace period. Users: binder with maple_tree and dma_fence. - `RcuFreeBox<T, A>`, inner T will be cleaned up immmediately and freed after a grace period. (Name suggestion is welcome). This is an attempt to consolidate Alice's `PollCondVarBox` [4] into a generic implementation, InPlaceInit support is still missing, but I want to get some feedback on the trait `RcuFreeSafe`. [1]: https://lore.kernel.org/rust-for-linux/[email protected]/ [2]: https://lore.kernel.org/rust-for-linux/[email protected]/ [3]: https://lore.kernel.org/rust-for-linux/[email protected]/ [4]: https://lore.kernel.org/rust-for-linux/[email protected]/ [5]: https://lore.kernel.org/rust-for-linux/[email protected]/ -- 2.50.1 (Apple Git-155)