From: Paul Mundt Date: Mon, 16 Jul 2007 06:38:24 +0000 (-0700) Subject: slob: sparsemem support X-Git-Tag: v2.6.23-rc1~1012 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=84a01c2f8ea9bf210b961c6301e8e870a46505a6;p=linux-2.6 slob: sparsemem support Currently slob is disabled if we're using sparsemem, due to an earlier patch from Goto-san. Slob and static sparsemem work without any trouble as it is, and the only hiccup is a missing slab_is_available() in the case of sparsemem extreme. With this, we're rid of the last set of restrictions for slob usage. Signed-off-by: Paul Mundt Acked-by: Pekka Enberg Acked-by: Matt Mackall Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/init/Kconfig b/init/Kconfig index d9d878a3bb..63d52a089a 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -576,7 +576,7 @@ config SLUB and has enhanced diagnostics. config SLOB - depends on EMBEDDED && !SPARSEMEM + depends on EMBEDDED bool "SLOB (Simple Allocator)" help SLOB replaces the SLAB allocator with a drastically simpler diff --git a/mm/slob.c b/mm/slob.c index b99b0ef234..b4899079d8 100644 --- a/mm/slob.c +++ b/mm/slob.c @@ -634,6 +634,14 @@ int kmem_ptr_validate(struct kmem_cache *a, const void *b) return 0; } +static unsigned int slob_ready __read_mostly; + +int slab_is_available(void) +{ + return slob_ready; +} + void __init kmem_cache_init(void) { + slob_ready = 1; }