]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
rust: alloc: implement `Vmalloc` allocator
authorDanilo Krummrich <dakr@kernel.org>
Fri, 7 Mar 2025 22:49:34 +0000 (23:49 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 12:01:44 +0000 (13:01 +0100)
commit88c5feb07ae052bb2f22d9ae162c5619bfc9e257
tree5f251fa5a77d62b1ed671f36ed227f4395b13dc3
parenta03b5e77dbb506420803739a9f5ad5f06f5b536c
rust: alloc: implement `Vmalloc` allocator

commit 61c004781d6b928443052e7a6cf84b35d4f61401 upstream.

Implement `Allocator` for `Vmalloc`, the kernel's virtually contiguous
allocator, typically used for larger objects, (much) larger than page
size.

All memory allocations made with `Vmalloc` end up in `vrealloc()`.

Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <benno.lossin@proton.me>
Reviewed-by: Gary Guo <gary@garyguo.net>
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
Link: https://lore.kernel.org/r/20241004154149.93856-9-dakr@kernel.org
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
rust/helpers/helpers.c
rust/helpers/vmalloc.c [new file with mode: 0644]
rust/kernel/alloc/allocator.rs
rust/kernel/alloc/allocator_test.rs