diff options
author | Christoph Lameter <clameter@sgi.com> | 2006-06-30 04:55:41 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-30 14:25:36 -0400 |
commit | d2c5e30c9a1420902262aa923794d2ae4e0bc391 (patch) | |
tree | b8c42c189c2bc8dd4b6d808ee8ed2b28dbd70ddd /mm | |
parent | fd39fc8561be33065306bdac0e30414e1e8ac8e1 (diff) |
[PATCH] zoned vm counters: conversion of nr_bounce to per zone counter
Conversion of nr_bounce to a per zone counter
nr_bounce is only used for proc output. So it could be left as an event
counter. However, the event counters may not be accurate and nr_bounce is
categorizing types of pages in a zone. So we really need this to also be a
per zone counter.
[akpm@osdl.org: bugfix]
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/highmem.c | 6 | ||||
-rw-r--r-- | mm/vmstat.c | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/mm/highmem.c b/mm/highmem.c index 9b274fdf9d08..9b2a5403c447 100644 --- a/mm/highmem.c +++ b/mm/highmem.c | |||
@@ -315,8 +315,8 @@ static void bounce_end_io(struct bio *bio, mempool_t *pool, int err) | |||
315 | if (bvec->bv_page == org_vec->bv_page) | 315 | if (bvec->bv_page == org_vec->bv_page) |
316 | continue; | 316 | continue; |
317 | 317 | ||
318 | mempool_free(bvec->bv_page, pool); | 318 | dec_zone_page_state(bvec->bv_page, NR_BOUNCE); |
319 | dec_page_state(nr_bounce); | 319 | mempool_free(bvec->bv_page, pool); |
320 | } | 320 | } |
321 | 321 | ||
322 | bio_endio(bio_orig, bio_orig->bi_size, err); | 322 | bio_endio(bio_orig, bio_orig->bi_size, err); |
@@ -397,7 +397,7 @@ static void __blk_queue_bounce(request_queue_t *q, struct bio **bio_orig, | |||
397 | to->bv_page = mempool_alloc(pool, q->bounce_gfp); | 397 | to->bv_page = mempool_alloc(pool, q->bounce_gfp); |
398 | to->bv_len = from->bv_len; | 398 | to->bv_len = from->bv_len; |
399 | to->bv_offset = from->bv_offset; | 399 | to->bv_offset = from->bv_offset; |
400 | inc_page_state(nr_bounce); | 400 | inc_zone_page_state(to->bv_page, NR_BOUNCE); |
401 | 401 | ||
402 | if (rw == WRITE) { | 402 | if (rw == WRITE) { |
403 | char *vto, *vfrom; | 403 | char *vto, *vfrom; |
diff --git a/mm/vmstat.c b/mm/vmstat.c index 9dc270aed5c4..25e5ca7c1743 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c | |||
@@ -381,6 +381,7 @@ static char *vmstat_text[] = { | |||
381 | "nr_dirty", | 381 | "nr_dirty", |
382 | "nr_writeback", | 382 | "nr_writeback", |
383 | "nr_unstable", | 383 | "nr_unstable", |
384 | "nr_bounce", | ||
384 | 385 | ||
385 | /* Event counters */ | 386 | /* Event counters */ |
386 | "pgpgin", | 387 | "pgpgin", |
@@ -428,7 +429,6 @@ static char *vmstat_text[] = { | |||
428 | "allocstall", | 429 | "allocstall", |
429 | 430 | ||
430 | "pgrotated", | 431 | "pgrotated", |
431 | "nr_bounce", | ||
432 | }; | 432 | }; |
433 | 433 | ||
434 | /* | 434 | /* |