diff options
author | Christoph Lameter <clameter@sgi.com> | 2006-06-30 04:55:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-30 14:25:35 -0400 |
commit | b1e7a8fd854d2f895730e82137400012b509650e (patch) | |
tree | 9fba87ff6b0146ebd4ee5bc7d5f0c8b037dbb3ad /fs/buffer.c | |
parent | df849a1529c106f7460e51479ca78fe07b07dc8c (diff) |
[PATCH] zoned vm counters: conversion of nr_dirty to per zone counter
This makes nr_dirty a per zone counter. Looping over all processors is
avoided during writeback state determination.
The counter aggregation for nr_dirty had to be undone in the NFS layer since
we summed up the page counts from multiple zones. Someone more familiar with
NFS should probably review what I have done.
[akpm@osdl.org: bugfix]
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/buffer.c')
-rw-r--r-- | fs/buffer.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/buffer.c b/fs/buffer.c index e9994722f4a3..90e52e677209 100644 --- a/fs/buffer.c +++ b/fs/buffer.c | |||
@@ -852,7 +852,7 @@ int __set_page_dirty_buffers(struct page *page) | |||
852 | write_lock_irq(&mapping->tree_lock); | 852 | write_lock_irq(&mapping->tree_lock); |
853 | if (page->mapping) { /* Race with truncate? */ | 853 | if (page->mapping) { /* Race with truncate? */ |
854 | if (mapping_cap_account_dirty(mapping)) | 854 | if (mapping_cap_account_dirty(mapping)) |
855 | inc_page_state(nr_dirty); | 855 | __inc_zone_page_state(page, NR_FILE_DIRTY); |
856 | radix_tree_tag_set(&mapping->page_tree, | 856 | radix_tree_tag_set(&mapping->page_tree, |
857 | page_index(page), | 857 | page_index(page), |
858 | PAGECACHE_TAG_DIRTY); | 858 | PAGECACHE_TAG_DIRTY); |