Skip to main content

Crate buddy_slab_allocator

Crate buddy_slab_allocator 

Source
Expand description

§buddy-slab-allocator

A #![no_std] memory allocator featuring:

  • Buddy page allocator — page-metadata-based with intrusive free lists
  • Slab allocator — bitmap-based with lock-free cross-CPU freeing (Linux SLUB inspired)
  • Global allocator — composes buddy + per-CPU slab, implements core::alloc::GlobalAlloc

Both buddy and slab allocators can be used standalone.

Re-exports§

pub use buddy::BuddyAllocator;
pub use buddy::ManagedSection;
pub use slab::PerCpuSlab;
pub use slab::SizeClass;
pub use slab::SlabAllocResult;
pub use slab::SlabAllocator;
pub use slab::SlabDeallocResult;
pub use slab::SlabPoolDeallocResult;
pub use slab::SlabPoolTrait;
pub use slab::SlabTrait;
pub use slab::StaticSlabPool;
pub use global::GlobalAllocator;

Modules§

buddy
Buddy page allocator — page-metadata-based with intrusive free lists.
eii
External interface items supplied by the platform / allocator integrator.
global
slab
Slab allocator — bitmap-based with lock-free cross-CPU freeing.

Enums§

AllocError
The error type used for allocation operations.

Type Aliases§

AllocResult
A Result alias with AllocError as the error type.