[24/41] compound pages: Use new compound vmstat functions in SLUB

From: Christoph Lameter
Date: Tue Sep 11 2007 - 02:19:44 EST


Use the new dec/inc functions to simplify SLUB's accounting
of pages.

Signed-off-by: Christoph Lameter <clameter@xxxxxxx>
---
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/