diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2007-10-17 08:25:47 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-17 17:42:45 +0200 |
commit | c9e51e4180696aa67915ec5665e4ec74125565de (patch) | |
tree | d66e1427b16e56bc7da0dfb583a6d8edb55a2c3e /mm/page-writeback.c | |
parent | mm: scalable bdi statistics counters (diff) | |
download | linux-c9e51e4180696aa67915ec5665e4ec74125565de.tar.xz linux-c9e51e4180696aa67915ec5665e4ec74125565de.zip |
mm: count reclaimable pages per BDI
Count per BDI reclaimable pages; nr_reclaimable = nr_dirty + nr_unstable.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/page-writeback.c')
-rw-r--r-- | mm/page-writeback.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c index d821321326e3..9b3c4ee62abf 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -827,6 +827,8 @@ int __set_page_dirty_nobuffers(struct page *page) WARN_ON_ONCE(!PagePrivate(page) && !PageUptodate(page)); if (mapping_cap_account_dirty(mapping)) { __inc_zone_page_state(page, NR_FILE_DIRTY); + __inc_bdi_stat(mapping->backing_dev_info, + BDI_RECLAIMABLE); task_io_account_write(PAGE_CACHE_SIZE); } radix_tree_tag_set(&mapping->page_tree, @@ -961,6 +963,8 @@ int clear_page_dirty_for_io(struct page *page) */ if (TestClearPageDirty(page)) { dec_zone_page_state(page, NR_FILE_DIRTY); + dec_bdi_stat(mapping->backing_dev_info, + BDI_RECLAIMABLE); return 1; } return 0; |