linux/arch/sh/mm
Shaohua Li 45cac65b0f readahead: fault retry breaks mmap file read random detection
.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>
2012-10-09 16:22:47 +09:00
..
Kconfig memblock: Kill early_node_map[] 2011-12-08 10:22:09 -08:00
Makefile sh64: Fix up caller-save register settings for fast-path. 2012-05-14 16:46:07 +09:00
alignment.c
asids-debugfs.c
cache-debugfs.c
cache-sh2.c
cache-sh2a.c sh: Fix sh2a build error for CONFIG_CACHE_WRITETHROUGH 2012-02-24 13:21:46 +09:00
cache-sh3.c
cache-sh4.c sh: fix up fallout from system.h disintegration. 2012-03-30 19:29:57 +09:00
cache-sh5.c
cache-sh7705.c
cache-shx3.c
cache.c sh: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:15 +08:00
consistent.c SH: adapt for dma_map_ops changes 2012-03-28 16:36:37 +02:00
extable_32.c
extable_64.c
fault.c readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
flush-sh4.c sh: fix up fallout from system.h disintegration. 2012-03-30 19:29:57 +09:00
gup.c
hugetlbpage.c
init.c memblock: s/memblock_analyze()/memblock_allow_resize()/ and update users 2011-12-08 10:22:08 -08:00
ioremap.c
ioremap_fixed.c
kmap.c
mmap.c
nommu.c
numa.c
pgtable.c
pmb.c Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
sram.c sh: fix up fallout from system.h disintegration. 2012-03-30 19:29:57 +09:00
tlb-debugfs.c
tlb-pteaex.c Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
tlb-sh3.c Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
tlb-sh4.c Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
tlb-sh5.c sh64: Fix up section mismatch warnings. 2012-06-14 15:05:53 +09:00
tlb-urb.c
tlbex_32.c sh: Enable shared page fault handler for _32/_64. 2012-05-14 15:33:28 +09:00
tlbex_64.c sh64: Set additional fault code values. 2012-05-14 17:46:49 +09:00
tlbflush_32.c
tlbflush_64.c sh64: Migrate to __update_tlb() API. 2012-05-14 15:52:28 +09:00
uncached.c