Skip to content

Commit

Permalink
SLUB: fix build when !SLUB_DEBUG
Browse files Browse the repository at this point in the history
Fix this build error when CONFIG_SLUB_DEBUG is not set:
mm/slub.c: In function 'slab_out_of_memory':
mm/slub.c:1551: error: 'struct kmem_cache_node' has no member named 'nr_slabs'
mm/slub.c:1552: error: 'struct kmem_cache_node' has no member named 'total_objects'

[ penberg@cs.helsinki.fi: cleanups ]
Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
  • Loading branch information
Alexander Beregalov authored and Pekka Enberg committed Jun 13, 2009
1 parent 781b2ba commit 26c02cf
Showing 1 changed file with 19 additions and 3 deletions.
22 changes: 19 additions & 3 deletions mm/slub.c
Original file line number Diff line number Diff line change
Expand Up @@ -832,6 +832,11 @@ static inline unsigned long slabs_node(struct kmem_cache *s, int node)
return atomic_long_read(&n->nr_slabs);
}

static inline unsigned long node_nr_slabs(struct kmem_cache_node *n)
{
return atomic_long_read(&n->nr_slabs);
}

static inline void inc_slabs_node(struct kmem_cache *s, int node, int objects)
{
struct kmem_cache_node *n = get_node(s, node);
Expand Down Expand Up @@ -1050,6 +1055,8 @@ static inline unsigned long kmem_cache_flags(unsigned long objsize,

static inline unsigned long slabs_node(struct kmem_cache *s, int node)
{ return 0; }
static inline unsigned long node_nr_slabs(struct kmem_cache_node *n)
{ return 0; }
static inline void inc_slabs_node(struct kmem_cache *s, int node,
int objects) {}
static inline void dec_slabs_node(struct kmem_cache *s, int node,
Expand Down Expand Up @@ -1503,6 +1510,15 @@ static unsigned long count_partial(struct kmem_cache_node *n,
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
}

static noinline void
slab_out_of_memory(struct kmem_cache *s, gfp_t gfpflags, int nid)
{
Expand All @@ -1524,9 +1540,9 @@ slab_out_of_memory(struct kmem_cache *s, gfp_t gfpflags, int nid)
if (!n)
continue;

nr_slabs = atomic_long_read(&n->nr_slabs);
nr_objs = atomic_long_read(&n->total_objects);
nr_free = count_partial(n, count_free);
nr_free = count_partial(n, count_free);
nr_slabs = node_nr_slabs(n);
nr_objs = node_nr_objs(n);

printk(KERN_WARNING
" node %d: slabs: %ld, objs: %ld, free: %ld\n",
Expand Down

0 comments on commit 26c02cf

Please sign in to comment.