Skip to content

Commit

Permalink
slub: Prepare inuse field in new_slab()
Browse files Browse the repository at this point in the history
inuse will always be set to page->objects. There is no point in
initializing the field to zero in new_slab() and then overwriting
the value in __slab_alloc().

Signed-off-by: Christoph Lameter <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
  • Loading branch information
Christoph Lameter authored and penberg committed Aug 19, 2011
1 parent 7db0d70 commit e6e82ea
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions mm/slub.c
Original file line number Diff line number Diff line change
Expand Up @@ -1447,7 +1447,7 @@ static struct page *new_slab(struct kmem_cache *s, gfp_t flags, int node)
set_freepointer(s, last, NULL);

page->freelist = start;
page->inuse = 0;
page->inuse = page->objects;
page->frozen = 1;
out:
return page;
Expand Down Expand Up @@ -2139,7 +2139,6 @@ static void *__slab_alloc(struct kmem_cache *s, gfp_t gfpflags, int node,
*/
object = page->freelist;
page->freelist = NULL;
page->inuse = page->objects;

stat(s, ALLOC_SLAB);
c->node = page_to_nid(page);
Expand Down Expand Up @@ -2681,7 +2680,7 @@ static void early_kmem_cache_node_alloc(int node)
n = page->freelist;
BUG_ON(!n);
page->freelist = get_freepointer(kmem_cache_node, n);
page->inuse++;
page->inuse = 1;
page->frozen = 0;
kmem_cache_node->node[node] = n;
#ifdef CONFIG_SLUB_DEBUG
Expand Down

0 comments on commit e6e82ea

Please sign in to comment.