Centos-kernel-stream-9/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
Kconfig.debug
Makefile
backing-dev.c
bootmem.c
bounce.c
cleancache.c
compaction.c cma: fix watermark checking 2012-10-09 16:22:45 +09:00
debug-pagealloc.c
dmapool.c
fadvise.c
failslab.c
filemap.c readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
filemap_xip.c
fremap.c
frontswap.c
highmem.c
huge_memory.c mm rmap: remove vma_address check for address inside vma 2012-10-09 16:22:41 +09:00
hugetlb.c
hugetlb_cgroup.c
hwpoison-inject.c
init-mm.c
internal.h cma: fix watermark checking 2012-10-09 16:22:45 +09:00
interval_tree.c mm: add CONFIG_DEBUG_VM_RB build option 2012-10-09 16:22:42 +09:00
kmemcheck.c
kmemleak-test.c
kmemleak.c
ksm.c mm anon rmap: replace same_anon_vma linked list with an interval tree. 2012-10-09 16:22:41 +09:00
maccess.c
madvise.c
memblock.c
memcontrol.c
memory-failure.c mm anon rmap: replace same_anon_vma linked list with an interval tree. 2012-10-09 16:22:41 +09:00
memory.c
memory_hotplug.c memory-hotplug: build zonelists when offlining pages 2012-10-09 16:22:43 +09:00
mempolicy.c
mempool.c
migrate.c
mincore.c
mlock.c
mm_init.c
mmap.c mm: avoid taking rmap locks in move_ptes() 2012-10-09 16:22:42 +09:00
mmu_context.c
mmu_notifier.c mm: mmu_notifier: make the mmu_notifier srcu static 2012-10-09 16:22:43 +09:00
mmzone.c
mprotect.c
mremap.c mm: avoid taking rmap locks in move_ptes() 2012-10-09 16:22:42 +09:00
msync.c
nobootmem.c
nommu.c
oom_kill.c
page-writeback.c
page_alloc.c memory-hotplug: fix pages missed by race rather than failing 2012-10-09 16:22:46 +09:00
page_cgroup.c
page_io.c
page_isolation.c memory-hotplug: fix pages missed by race rather than failing 2012-10-09 16:22:46 +09:00
pagewalk.c
percpu-km.c
percpu-vm.c
percpu.c
pgtable-generic.c
process_vm_access.c
quicklist.c
readahead.c
rmap.c mm rmap: remove vma_address check for address inside vma 2012-10-09 16:22:41 +09:00
shmem.c
slab.c
slab.h
slab_common.c
slob.c
slub.c
sparse-vmemmap.c
sparse.c
swap.c
swap_state.c
swapfile.c
truncate.c
util.c
vmalloc.c
vmscan.c mm: cma: discard clean pages during contiguous allocation instead of migration 2012-10-09 16:22:43 +09:00
vmstat.c cma: count free CMA pages 2012-10-09 16:22:44 +09:00