diff options
author | Christoph Lameter <clameter@sgi.com> | 2006-06-30 12:55:39 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-30 22:25:35 +0400 |
commit | b1e7a8fd854d2f895730e82137400012b509650e (patch) | |
tree | 9fba87ff6b0146ebd4ee5bc7d5f0c8b037dbb3ad /drivers | |
parent | df849a1529c106f7460e51479ca78fe07b07dc8c (diff) | |
download | linux-b1e7a8fd854d2f895730e82137400012b509650e.tar.xz |
[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 'drivers')
-rw-r--r-- | drivers/base/node.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/base/node.c b/drivers/base/node.c index c22fb67ec50c..6fed520d00f4 100644 --- a/drivers/base/node.c +++ b/drivers/base/node.c @@ -50,8 +50,6 @@ static ssize_t node_read_meminfo(struct sys_device * dev, char * buf) __get_zone_counts(&active, &inactive, &free, NODE_DATA(nid)); /* Check for negative values in these approximate counters */ - if ((long)ps.nr_dirty < 0) - ps.nr_dirty = 0; if ((long)ps.nr_writeback < 0) ps.nr_writeback = 0; @@ -81,7 +79,7 @@ static ssize_t node_read_meminfo(struct sys_device * dev, char * buf) nid, K(i.freehigh), nid, K(i.totalram - i.totalhigh), nid, K(i.freeram - i.freehigh), - nid, K(ps.nr_dirty), + nid, K(node_page_state(nid, NR_FILE_DIRTY)), nid, K(ps.nr_writeback), nid, K(node_page_state(nid, NR_FILE_PAGES)), nid, K(node_page_state(nid, NR_FILE_MAPPED)), |