lkml.org 
[lkml]   [2011]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    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


    \
     
     \ /
      Last update: 2011-06-20 17:35    [W:1.244 / U:122.244 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site