How Does the Slub Allocator Work?
The Slub Allocator Can Use Rcu to Free Objects, But, to Do So, It Must Be Able to Put the "Next Object" Pointer Outside of the Object Itself; the Offset...
The SLUB allocator can use RCU to free objects, but, to do so, it must be able to put the "next object" pointer outside of the object itself; the offset pointer is the allocator's way of tracking where that pointer was put. When a slab is first created by the allocator, it has no objects allocated from it.
How does SLUB work?
SLUB (the unqueued slab allocator) is a memory management mechanism intended for the efficient memory allocation of kernel objects which displays the desirable property of eliminating fragmentation caused by allocations and deallocations.
What are the differences between slab allocator and SLUB allocator?
It continues to employ the basic "slab" model, but fixes several deficiencies in Slab's design, particularly around systems with large numbers of processors. Slub is simpler than Slab. SLOB (Simple List Of Blocks) is a memory allocator optimized for embedded systems with very little memory—on the order of megabytes.