From fd2d72c82780780b0ee3cc71afb02c67d5002f19 Mon Sep 17 00:00:00 2001 From: David Rientjes Date: Thu, 22 May 2014 10:42:36 +1000 Subject: [PATCH] mm-slab-suppress-out-of-memory-warning-unless-debug-is-enabled-fix-2 Only define count_free() when CONFIG_SLUB_DEBUG since that's the only context in which it is referenced. Only define count_partial() when CONFIG_SLUB_DEBUG or CONFIG_SYSFS since the sysfs interface still uses it for partial slab counts. Also only define node_nr_objs() when CONFIG_SLUB_DEBUG since that's the only context in which it is referenced. Signed-off-by: David Rientjes Reported-by: kbuild test robot Signed-off-by: Andrew Morton --- mm/slub.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/mm/slub.c b/mm/slub.c index 269d049108e3..65a0a5c57f31 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -2119,11 +2119,19 @@ static inline int node_match(struct page *page, int node) return 1; } +#ifdef CONFIG_SLUB_DEBUG static int count_free(struct page *page) { return page->objects - page->inuse; } +static inline unsigned long node_nr_objs(struct kmem_cache_node *n) +{ + return atomic_long_read(&n->total_objects); +} +#endif /* CONFIG_SLUB_DEBUG */ + +#if defined(CONFIG_SLUB_DEBUG) || defined(CONFIG_SYSFS) static unsigned long count_partial(struct kmem_cache_node *n, int (*get_count)(struct page *)) { @@ -2137,15 +2145,7 @@ static unsigned long count_partial(struct kmem_cache_node *n, spin_unlock_irqrestore(&n->list_lock, flags); return x; } - -static inline unsigned long node_nr_objs(struct kmem_cache_node *n) -{ -#ifdef CONFIG_SLUB_DEBUG - return atomic_long_read(&n->total_objects); -#else - return 0; -#endif -} +#endif /* CONFIG_SLUB_DEBUG || CONFIG_SYSFS */ static noinline void slab_out_of_memory(struct kmem_cache *s, gfp_t gfpflags, int nid) -- 2.39.5