Hi, I have encountered the same error as well. We need to move the forward declaration up outside of CONFIG_NUMA: --- >From debe263e8a11322cbb9d39fe2eb110a521333343 Mon Sep 17 00:00:00 2001 From: Michal Hocko <mhocko@xxxxxxx> Date: Thu, 6 Nov 2014 10:05:27 +0100 Subject: [PATCH] slab-recharge-slab-pages-to-the-allocating-memory-cgroup-fix.patch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move forward declaration of slab_free to make it available for !CONFIG_NUMA: mm/slab.c:3260:4: error: implicit declaration of function ‘slab_free’ [-Werror=implicit-function-declaration] slab_free(cachep, objp); ^ mm/slab.c: At top level: mm/slab.c:3534:20: warning: conflicting types for ‘slab_free’ [enabled by default] static inline void slab_free(struct kmem_cache *cachep, void *objp) ^ mm/slab.c:3534:20: error: static declaration of ‘slab_free’ follows non-static declaration mm/slab.c:3260:4: note: previous implicit declaration of ‘slab_free’ was here slab_free(cachep, objp); Signed-off-by: Michal Hocko <mhocko@xxxxxxx> --- mm/slab.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/slab.c b/mm/slab.c index 61b01c2ae1d9..00cd028404cb 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -2961,6 +2961,8 @@ out: return objp; } +static __always_inline void slab_free(struct kmem_cache *cachep, void *objp); + #ifdef CONFIG_NUMA /* * Try allocating on another node if PFA_SPREAD_SLAB is a mempolicy is set. @@ -3133,8 +3135,6 @@ done: return obj; } -static __always_inline void slab_free(struct kmem_cache *cachep, void *objp); - static __always_inline void * slab_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid, unsigned long caller) -- 2.1.1 -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>