linux/rust/helpers
Wedson Almeida Filho a0d13aac70 rust: rbtree: add red-black tree implementation backed by the C version
The rust rbtree exposes a map-like interface over keys and values,
backed by the kernel red-black tree implementation. Values can be
inserted, deleted, and retrieved from a `RBTree` by key.

This base abstraction is used by binder to store key/value
pairs and perform lookups, for example the patch
"[PATCH RFC 03/20] rust_binder: add threading support"
in the binder RFC [1].

Link: https://lore.kernel.org/rust-for-linux/20231101-rust-binder-v1-3-08ba9197f637@google.com/ [1]
Signed-off-by: Wedson Almeida Filho <wedsonaf@gmail.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Tested-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Reviewed-by: Benno Lossin <benno.lossin@proton.me>
Signed-off-by: Matt Gilbride <mattgilbride@google.com>
Link: https://lore.kernel.org/r/20240822-b4-rbtree-v12-1-014561758a57@google.com
[ Updated link to docs.kernel.org. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-08-31 17:35:08 +02:00
..
blk.c rust: kbuild: auto generate helper exports 2024-08-19 11:09:02 +02:00
bug.c rust: kbuild: auto generate helper exports 2024-08-19 11:09:02 +02:00
build_assert.c
build_bug.c rust: kbuild: auto generate helper exports 2024-08-19 11:09:02 +02:00
err.c rust: kbuild: auto generate helper exports 2024-08-19 11:09:02 +02:00
helpers.c rust: rbtree: add red-black tree implementation backed by the C version 2024-08-31 17:35:08 +02:00
kunit.c rust: kbuild: auto generate helper exports 2024-08-19 11:09:02 +02:00
mutex.c rust: kbuild: auto generate helper exports 2024-08-19 11:09:02 +02:00
page.c rust: kbuild: auto generate helper exports 2024-08-19 11:09:02 +02:00
rbtree.c rust: rbtree: add red-black tree implementation backed by the C version 2024-08-31 17:35:08 +02:00
refcount.c rust: kbuild: auto generate helper exports 2024-08-19 11:09:02 +02:00
signal.c rust: kbuild: auto generate helper exports 2024-08-19 11:09:02 +02:00
slab.c rust: kbuild: auto generate helper exports 2024-08-19 11:09:02 +02:00
spinlock.c rust: kbuild: auto generate helper exports 2024-08-19 11:09:02 +02:00
task.c rust: kbuild: auto generate helper exports 2024-08-19 11:09:02 +02:00
uaccess.c rust: kbuild: auto generate helper exports 2024-08-19 11:09:02 +02:00
wait.c rust: kbuild: auto generate helper exports 2024-08-19 11:09:02 +02:00
workqueue.c rust: kbuild: auto generate helper exports 2024-08-19 11:09:02 +02:00