lkml.org 
[lkml]   [2011]   [Aug]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[slub p3 3/7] 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-08-01 11:04:06.385859038 -0500
    +++ linux-2.6/mm/slub.c 2011-08-01 11:04:26.025858912 -0500
    @@ -1447,7 +1447,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;
    @@ -2139,7 +2139,6 @@ new_slab:
    */
    object = page->freelist;
    page->freelist = NULL;
    - page->inuse = page->objects;

    stat(s, ALLOC_SLAB);
    c->node = page_to_nid(page);
    @@ -2679,7 +2678,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-08-01 18:31    [W:0.022 / U:300.476 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site