lkml.org 
[lkml]   [2007]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[24/41] compound pages: Use new compound vmstat functions in SLUB
    Use the new dec/inc functions to simplify SLUB's accounting
    of pages.

    Signed-off-by: Christoph Lameter <clameter@sgi.com>
    ---
    mm/slub.c | 13 ++++---------
    1 files changed, 4 insertions(+), 9 deletions(-)

    diff --git a/mm/slub.c b/mm/slub.c
    index 04151da..34655f4 100644
    --- a/mm/slub.c
    +++ b/mm/slub.c
    @@ -1038,7 +1038,6 @@ static inline void kmem_cache_open_debug_check(struct kmem_cache *s) {}
    static struct page *allocate_slab(struct kmem_cache *s, gfp_t flags, int node)
    {
    struct page * page;
    - int pages = 1 << s->order;

    if (s->order)
    flags |= __GFP_COMP;
    @@ -1054,10 +1053,9 @@ static struct page *allocate_slab(struct kmem_cache *s, gfp_t flags, int node)
    if (!page)
    return NULL;

    - mod_zone_page_state(page_zone(page),
    + inc_zone_page_state(page,
    (s->flags & SLAB_RECLAIM_ACCOUNT) ?
    - NR_SLAB_RECLAIMABLE : NR_SLAB_UNRECLAIMABLE,
    - pages);
    + NR_SLAB_RECLAIMABLE : NR_SLAB_UNRECLAIMABLE);

    return page;
    }
    @@ -1124,8 +1122,6 @@ out:

    static void __free_slab(struct kmem_cache *s, struct page *page)
    {
    - int pages = 1 << s->order;
    -
    if (unlikely(SlabDebug(page))) {
    void *p;

    @@ -1135,10 +1131,9 @@ static void __free_slab(struct kmem_cache *s, struct page *page)
    ClearSlabDebug(page);
    }

    - mod_zone_page_state(page_zone(page),
    + dec_zone_page_state(page,
    (s->flags & SLAB_RECLAIM_ACCOUNT) ?
    - NR_SLAB_RECLAIMABLE : NR_SLAB_UNRECLAIMABLE,
    - - pages);
    + NR_SLAB_RECLAIMABLE : NR_SLAB_UNRECLAIMABLE);

    page->mapping = NULL;
    __free_pages(page, s->order);
    --
    1.5.2.5
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-09-11 08:23    [W:0.024 / U:0.296 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site