slob: implement RCU freeing
The SLOB allocator should implement SLAB_DESTROY_BY_RCU correctly, because even on UP, RCU freeing semantics are not equivalent to simply freeing immediately. This also allows SLOB to be used on SMP. Signed-off-by: Nick Piggin <npiggin@suse.de> Acked-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
b2cd64153b
commit
afc0cedbe9
+2
-5
@@ -577,14 +577,11 @@ config SLUB
|
||||
and has enhanced diagnostics.
|
||||
|
||||
config SLOB
|
||||
#
|
||||
# SLOB does not support SMP because SLAB_DESTROY_BY_RCU is unsupported
|
||||
#
|
||||
depends on EMBEDDED && !SMP && !SPARSEMEM
|
||||
depends on EMBEDDED && !SPARSEMEM
|
||||
bool "SLOB (Simple Allocator)"
|
||||
help
|
||||
SLOB replaces the SLAB allocator with a drastically simpler
|
||||
allocator. SLOB is more space efficient that SLAB but does not
|
||||
allocator. SLOB is more space efficient than SLAB but does not
|
||||
scale well (single lock for all operations) and is also highly
|
||||
susceptible to fragmentation. SLUB can accomplish a higher object
|
||||
density. It is usually better to use SLUB instead of SLOB.
|
||||
|
||||
Reference in New Issue
Block a user