aboutsummaryrefslogtreecommitdiffstats
path: root/mm/page-writeback.c
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2007-10-17 02:25:47 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-17 11:42:45 -0400
commitc9e51e4180696aa67915ec5665e4ec74125565de (patch)
treed66e1427b16e56bc7da0dfb583a6d8edb55a2c3e /mm/page-writeback.c
parentb2e8fb6efa209c82203c79b491b5bc952d44aa57 (diff)
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.c4
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)
827 WARN_ON_ONCE(!PagePrivate(page) && !PageUptodate(page)); 827 WARN_ON_ONCE(!PagePrivate(page) && !PageUptodate(page));
828 if (mapping_cap_account_dirty(mapping)) { 828 if (mapping_cap_account_dirty(mapping)) {
829 __inc_zone_page_state(page, NR_FILE_DIRTY); 829 __inc_zone_page_state(page, NR_FILE_DIRTY);
830 __inc_bdi_stat(mapping->backing_dev_info,
831 BDI_RECLAIMABLE);
830 task_io_account_write(PAGE_CACHE_SIZE); 832 task_io_account_write(PAGE_CACHE_SIZE);
831 } 833 }
832 radix_tree_tag_set(&mapping->page_tree, 834 radix_tree_tag_set(&mapping->page_tree,
@@ -961,6 +963,8 @@ int clear_page_dirty_for_io(struct page *page)
961 */ 963 */
962 if (TestClearPageDirty(page)) { 964 if (TestClearPageDirty(page)) {
963 dec_zone_page_state(page, NR_FILE_DIRTY); 965 dec_zone_page_state(page, NR_FILE_DIRTY);
966 dec_bdi_stat(mapping->backing_dev_info,
967 BDI_RECLAIMABLE);
964 return 1; 968 return 1;
965 } 969 }
966 return 0; 970 return 0;