Commit e6e82ea1 authored by Christoph Lameter's avatar Christoph Lameter Committed by Pekka Enberg

slub: Prepare inuse field in new_slab()

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: default avatarChristoph Lameter <cl@linux.com>
Signed-off-by: default avatarPekka Enberg <penberg@kernel.org>
parent 7db0d705
...@@ -1447,7 +1447,7 @@ static struct page *new_slab(struct kmem_cache *s, gfp_t flags, int node) ...@@ -1447,7 +1447,7 @@ static struct page *new_slab(struct kmem_cache *s, gfp_t flags, int node)
set_freepointer(s, last, NULL); set_freepointer(s, last, NULL);
page->freelist = start; page->freelist = start;
page->inuse = 0; page->inuse = page->objects;
page->frozen = 1; page->frozen = 1;
out: out:
return page; return page;
...@@ -2139,7 +2139,6 @@ static void *__slab_alloc(struct kmem_cache *s, gfp_t gfpflags, int node, ...@@ -2139,7 +2139,6 @@ static void *__slab_alloc(struct kmem_cache *s, gfp_t gfpflags, int node,
*/ */
object = page->freelist; object = page->freelist;
page->freelist = NULL; page->freelist = NULL;
page->inuse = page->objects;
stat(s, ALLOC_SLAB); stat(s, ALLOC_SLAB);
c->node = page_to_nid(page); c->node = page_to_nid(page);
...@@ -2681,7 +2680,7 @@ static void early_kmem_cache_node_alloc(int node) ...@@ -2681,7 +2680,7 @@ static void early_kmem_cache_node_alloc(int node)
n = page->freelist; n = page->freelist;
BUG_ON(!n); BUG_ON(!n);
page->freelist = get_freepointer(kmem_cache_node, n); page->freelist = get_freepointer(kmem_cache_node, n);
page->inuse++; page->inuse = 1;
page->frozen = 0; page->frozen = 0;
kmem_cache_node->node[node] = n; kmem_cache_node->node[node] = n;
#ifdef CONFIG_SLUB_DEBUG #ifdef CONFIG_SLUB_DEBUG
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment