[PATCH -v5 0/2] Updating ctime and mtime for memory-mapped files
From: Anton Salikhmetov
Date: Wed Jan 16 2008 - 19:58:01 EST
This is the fifth version of my solution for the bug #2645:
http://bugzilla.kernel.org/show_bug.cgi?id=2645
New since the previous version:
1) the case of retouching an already-dirty page pointed out
by Miklos Szeredi has been correctly addressed;
2) a few cosmetic changes according to the latest feedback;
3) fixed the error of calling a possibly sleeping function
from an atomic context.
The design for the first item above was suggested by Peter Zijlstra:
> It would require scanning the PTEs and marking them read-only again on
> MS_ASYNC, and some more logic in set_page_dirty() because that currently
> bails out early if the page in question is already dirty.
Miklos' test program now produces the following output for
the repeated calls to msync() with the MS_ASYNC flag:
debian:~/miklos# ./miklos_test file
begin 1200529196 1200529196 1200528798
write 1200529197 1200529197 1200528798
mmap 1200529197 1200529197 1200529198
b 1200529197 1200529197 1200529198
msync b 1200529199 1200529199 1200529198
c 1200529199 1200529199 1200529198
msync c 1200529201 1200529201 1200529198
d 1200529201 1200529201 1200529198
munmap 1200529201 1200529201 1200529198
close 1200529201 1200529201 1200529198
sync 1200529204 1200529204 1200529198
debian:~/miklos#
Miklos' test program can be found using the following link:
http://lkml.org/lkml/2008/1/14/104
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/