aboutsummaryrefslogtreecommitdiffstats
path: root/mm/page-writeback.c
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2007-07-19 04:49:17 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-19 13:04:52 -0400
commitd688abf50bd5a30d2c44dea2a72dd59052cd3cce (patch)
tree2f572d18af05969b2c882970cda4860be345bdfc /mm/page-writeback.c
parent6819457d2cb7fe4fdb0fc3655b6b6dc71a86bee9 (diff)
move page writeback acounting out of macros
page-writeback accounting is presently performed in the page-flags macros. This is inconsistent and a bit ugly and makes it awkward to implement per-backing_dev under-writeback page accounting. So move this accounting down to the callsite(s). Acked-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 51b3eb6ab445..63512a9ed57e 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -987,6 +987,8 @@ int test_clear_page_writeback(struct page *page)
987 } else { 987 } else {
988 ret = TestClearPageWriteback(page); 988 ret = TestClearPageWriteback(page);
989 } 989 }
990 if (ret)
991 dec_zone_page_state(page, NR_WRITEBACK);
990 return ret; 992 return ret;
991} 993}
992 994
@@ -1012,6 +1014,8 @@ int test_set_page_writeback(struct page *page)
1012 } else { 1014 } else {
1013 ret = TestSetPageWriteback(page); 1015 ret = TestSetPageWriteback(page);
1014 } 1016 }
1017 if (!ret)
1018 inc_zone_page_state(page, NR_WRITEBACK);
1015 return ret; 1019 return ret;
1016 1020
1017} 1021}