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> |
||
---|---|---|
.. | ||
alignment.c | ||
asids-debugfs.c | ||
cache-debugfs.c | ||
cache-sh2.c | ||
cache-sh2a.c | ||
cache-sh3.c | ||
cache-sh4.c | ||
cache-sh5.c | ||
cache-sh7705.c | ||
cache-shx3.c | ||
cache.c | ||
consistent.c | ||
extable_32.c | ||
extable_64.c | ||
fault.c | ||
flush-sh4.c | ||
gup.c | ||
hugetlbpage.c | ||
init.c | ||
ioremap_fixed.c | ||
ioremap.c | ||
Kconfig | ||
kmap.c | ||
Makefile | ||
mmap.c | ||
nommu.c | ||
numa.c | ||
pgtable.c | ||
pmb.c | ||
sram.c | ||
tlb-debugfs.c | ||
tlb-pteaex.c | ||
tlb-sh3.c | ||
tlb-sh4.c | ||
tlb-sh5.c | ||
tlb-urb.c | ||
tlbex_32.c | ||
tlbex_64.c | ||
tlbflush_32.c | ||
tlbflush_64.c | ||
uncached.c |