linux/arch/powerpc/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
..
40x_mmu.c
44x_mmu.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
dma-noncoherent.c
fault.c readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
fsl_booke_mmu.c
gup.c
hash_low_32.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
hash_low_64.S powerpc/mm: Convert virtual address to vpn 2012-09-17 16:31:49 +10:00
hash_native_64.c powerpc: Remove tlb batching hack for nighthawk 2012-09-27 12:51:06 +10:00
hash_utils_64.c powerpc/mm: Increase the slice range to 64TB 2012-09-17 16:31:50 +10:00
highmem.c
hugetlbpage-book3e.c
hugetlbpage-hash64.c powerpc/mm: Convert virtual address to vpn 2012-09-17 16:31:49 +10:00
hugetlbpage.c powerpc: fix compile fail in hugetlb cmdline parsing 2012-05-07 16:51:19 -07:00
icswx_pid.c
icswx.c
icswx.h
init_32.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
init_64.c powerpc: Remove all includes of <asm/abs_addr.h> 2012-09-05 15:19:33 +10:00
Makefile
mem.c powerpc/swiotlb: Enable at early stage and disable if not necessary 2012-09-12 14:57:09 -05:00
mmap_64.c
mmu_context_hash32.c
mmu_context_hash64.c powerpc/mm: Update VSID allocation documentation 2012-09-17 16:31:53 +10:00
mmu_context_nohash.c powerpc: use clear_tasks_mm_cpumask() 2012-05-31 17:49:29 -07:00
mmu_decl.h
numa.c powerpc/vphn: Fix arch_update_cpu_topology() return value 2012-09-05 16:05:19 +10:00
pgtable_32.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
pgtable_64.c powerpc/mm: Make some of the PGTABLE_RANGE dependency explicit 2012-09-17 16:31:53 +10:00
pgtable.c
ppc_mmu_32.c
slb_low.S powerpc/mm: Add 64TB support 2012-09-17 16:31:51 +10:00
slb.c
slice.c powerpc/mm: Make some of the PGTABLE_RANGE dependency explicit 2012-09-17 16:31:53 +10:00
stab.c powerpc/mm: Remove uses of abs_to_virt() and virt_to_abs() 2012-09-05 15:19:31 +10:00
subpage-prot.c powerpc/mm: Match variable types to API 2012-09-10 14:37:31 +10:00
tlb_hash32.c
tlb_hash64.c powerpc/mm: Convert virtual address to vpn 2012-09-17 16:31:49 +10:00
tlb_low_64e.S powerpc/booke64: Use SPRG0/3 scratch for bolted TLB miss & crit int 2012-09-05 15:35:52 +10:00
tlb_nohash_low.S powerpc: Enforce usage of RA 0-R31 where possible 2012-07-10 19:18:35 +10:00
tlb_nohash.c