aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorJosef Bacik <josef@redhat.com>2009-07-05 12:08:18 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-07-06 13:57:03 -0700
commitc8236db9cd7aa492dcfcdcca702638e704abed49 (patch)
tree75eb83051298fd1f9df426cafaaa6d3c422d1b68 /mm
parenta65e7bfcd74e4c0939f235d2bf9f48ddb3a57991 (diff)
downloadkernel_samsung_espresso10-c8236db9cd7aa492dcfcdcca702638e704abed49.zip
kernel_samsung_espresso10-c8236db9cd7aa492dcfcdcca702638e704abed49.tar.gz
kernel_samsung_espresso10-c8236db9cd7aa492dcfcdcca702638e704abed49.tar.bz2
mm: mark page accessed before we write_end()
In testing a backport of the write_begin/write_end AOPs, a 10% re-read regression was noticed when running iozone. This regression was introduced because the old AOPs would always do a mark_page_accessed(page) after the commit_write, but when the new AOPs where introduced, the only place this was kept was in pagecache_write_end(). This patch does the same thing in the generic case as what is done in pagecache_write_end(), which is just to mark the page accessed before we do write_end(). Signed-off-by: Josef Bacik <jbacik@redhat.com> Acked-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/filemap.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/mm/filemap.c b/mm/filemap.c
index 2239671..ccea3b6 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -2272,6 +2272,7 @@ again:
pagefault_enable();
flush_dcache_page(page);
+ mark_page_accessed(page);
status = a_ops->write_end(file, mapping, pos, bytes, copied,
page, fsdata);
if (unlikely(status < 0))