45cac65b0f
.fault now can retry. The retry can break state machine of .fault. In filemap_fault, if page is miss, ra->mmap_miss is increased. In the second try, since the page is in page cache now, ra->mmap_miss is decreased. And these are done in one fault, so we can't detect random mmap file access. Add a new flag to indicate .fault is tried once. In the second try, skip ra->mmap_miss decreasing. The filemap_fault state machine is ok with it. I only tested x86, didn't test other archs, but looks the change for other archs is obvious, but who knows :) Signed-off-by: Shaohua Li <shaohua.li@fusionio.com> Cc: Rik van Riel <riel@redhat.com> Cc: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
extable.c | ||
fault_32.c | ||
fault_64.c | ||
gup.c | ||
highmem.c | ||
hugetlbpage.c | ||
hypersparc.S | ||
init_32.c | ||
init_64.c | ||
init_64.h | ||
io-unit.c | ||
iommu.c | ||
leon_mm.c | ||
Makefile | ||
srmmu_access.S | ||
srmmu.c | ||
srmmu.h | ||
swift.S | ||
tlb.c | ||
tsb.c | ||
tsunami.S | ||
ultra.S | ||
viking.S |