[PATCH] zoned vm counters: convert nr_mapped to per zone counter

nr_mapped is important because it allows a determination of how many pages of
a zone are not mapped, which would allow a more efficient means of determining
when we need to reclaim memory in a zone.

We take the nr_mapped field out of the page state structure and define a new
per zone counter named NR_FILE_MAPPED (the anonymous pages will be split off
from NR_MAPPED in the next patch).

We replace the use of nr_mapped in various kernel locations.  This avoids the
looping over all processors in try_to_free_pages(), writeback, reclaim (swap +
zone reclaim).

[[email protected]: bugfix]
Signed-off-by: Christoph Lameter <[email protected]>
Cc: Trond Myklebust <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
Christoph Lameter 2006-06-30 01:55:34 -07:00 • committed by Linus Torvalds
commit 65ba55f500
10 changed files with 16 additions and 17 deletions

View file

@ -111,7 +111,7 @@ static void get_writeback_state(struct writeback_state *wbs)
{
wbs->nr_dirty = read_page_state(nr_dirty);
wbs->nr_unstable = read_page_state(nr_unstable);
wbs->nr_mapped = read_page_state(nr_mapped);
wbs->nr_mapped = global_page_state(NR_FILE_MAPPED);
wbs->nr_writeback = read_page_state(nr_writeback);
}