diff options
author | Wu Fengguang <fengguang.wu@intel.com> | 2011-07-25 20:12:37 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-25 23:57:11 -0400 |
commit | 99b12e3d882bc7ebdfe0de381dff3b16d21c38f7 (patch) | |
tree | 2aa21f5b5a6e03e49cd7af4dbd1b38ec451b09d7 | |
parent | 48f170fb7d7db8789ccc23e051af61f62af5f685 (diff) |
writeback: account NR_WRITTEN at IO completion time
NR_WRITTEN is now accounted at block IO enqueue time, which is not very
accurate as to common understanding. This moves NR_WRITTEN accounting to
the IO completion time and makes it more consistent with BDI_WRITTEN,
which is used for bandwidth estimation.
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Cc: Michael Rubin <mrubin@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | mm/page-writeback.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 919b45eb57ad..d8767b381b9c 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c | |||
@@ -1141,7 +1141,6 @@ EXPORT_SYMBOL(account_page_dirtied); | |||
1141 | void account_page_writeback(struct page *page) | 1141 | void account_page_writeback(struct page *page) |
1142 | { | 1142 | { |
1143 | inc_zone_page_state(page, NR_WRITEBACK); | 1143 | inc_zone_page_state(page, NR_WRITEBACK); |
1144 | inc_zone_page_state(page, NR_WRITTEN); | ||
1145 | } | 1144 | } |
1146 | EXPORT_SYMBOL(account_page_writeback); | 1145 | EXPORT_SYMBOL(account_page_writeback); |
1147 | 1146 | ||
@@ -1358,8 +1357,10 @@ int test_clear_page_writeback(struct page *page) | |||
1358 | } else { | 1357 | } else { |
1359 | ret = TestClearPageWriteback(page); | 1358 | ret = TestClearPageWriteback(page); |
1360 | } | 1359 | } |
1361 | if (ret) | 1360 | if (ret) { |
1362 | dec_zone_page_state(page, NR_WRITEBACK); | 1361 | dec_zone_page_state(page, NR_WRITEBACK); |
1362 | inc_zone_page_state(page, NR_WRITTEN); | ||
1363 | } | ||
1363 | return ret; | 1364 | return ret; |
1364 | } | 1365 | } |
1365 | 1366 | ||