Messages in this thread Patch in this message | | | Date | Mon, 20 Jun 2011 10:32:45 -0500 | From | Christoph Lameter <> | Subject | [slub p2 1/4] 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: Christoph Lameter <cl@linux.com>
--- mm/slub.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
Index: linux-2.6/mm/slub.c =================================================================== --- linux-2.6.orig/mm/slub.c 2011-06-14 11:43:54.864072250 -0500 +++ linux-2.6/mm/slub.c 2011-06-14 12:33:15.887854446 -0500 @@ -1341,7 +1341,7 @@ static struct page *new_slab(struct kmem set_freepointer(s, last, NULL); page->freelist = start; - page->inuse = 0; + page->inuse = page->objects; page->frozen = 1; out: return page; @@ -2036,7 +2036,6 @@ new_slab: */ object = page->freelist; page->freelist = NULL; - page->inuse = page->objects; stat(s, ALLOC_SLAB); c->node = page_to_nid(page); @@ -2574,7 +2573,7 @@ static void early_kmem_cache_node_alloc( 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
| |