OpenCloudOS-Kernel/arch/um/kernel
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
..
skas um: split syscall_trace(), pass pt_regs to it 2012-08-02 00:25:38 +02:00
Makefile um: Use generic init_task 2012-05-05 13:00:26 +02:00
asm-offsets.c [PATCH] uml: fix missing KBUILD_BASENAME 2006-01-11 18:42:09 -08:00
config.c.in uml: remove useless comments 2009-04-01 08:59:17 -07:00
dyn.lds.S uml: fix CONFIG_STATIC_LINK=y build failure with newer glibc 2010-10-26 16:52:12 -07:00
early_printk.c um: add earlyprintk support 2011-05-25 08:39:41 -07:00
exec.c um: don't leak floating point state and segment registers on execve() 2012-09-27 18:04:38 +02:00
exitcode.c uml: convert to seq_file/proc_fops 2009-12-15 08:53:25 -08:00
gmon_syms.c um: fix gcov build breakage 2011-11-02 14:15:26 +01:00
gprof_syms.c uml: style fixes in arch/um/kernel 2008-02-05 09:44:30 -08:00
initrd.c um: make load_initrd() static, kill shared/initrd.h 2011-11-02 14:15:06 +01:00
internal.h uml: fix compile warning 2010-09-22 17:22:39 -07:00
irq.c um: pass siginfo to guest process 2012-08-02 00:49:17 +02:00
ksyms.c um: distribute exports to where exported stuff is defined 2011-11-02 14:15:36 +01:00
mem.c um: distribute exports to where exported stuff is defined 2011-11-02 14:15:36 +01:00
physmem.c um: distribute exports to where exported stuff is defined 2011-11-02 14:15:36 +01:00
process.c um: kill thread->forking 2012-09-27 18:04:55 +02:00
ptrace.c um: split syscall_trace(), pass pt_regs to it 2012-08-02 00:25:38 +02:00
reboot.c um: properly check all process' threads for a live mm 2012-05-31 17:49:30 -07:00
sigio.c um: remove IRQF_SAMPLE_RANDOM which is now a no-op 2012-07-19 10:40:42 -04:00
signal.c um: let signal_delivered() do SIGTRAP on singlestepping into handler 2012-09-27 18:04:47 +02:00
smp.c smp: Add task_struct argument to __cpu_up() 2012-04-26 12:06:09 +02:00
syscall.c um: kill thread->forking 2012-09-27 18:04:55 +02:00
sysrq.c Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
time.c um: pass siginfo to guest process 2012-08-02 00:49:17 +02:00
tlb.c um: Add BUG() to do_ops()'s error path 2012-05-21 21:09:33 +02:00
trap.c readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
um_arch.c um: Use generic init_task 2012-05-05 13:00:26 +02:00
umid.c uml: style fixes in arch/um/kernel 2008-02-05 09:44:30 -08:00
uml.lds.S uml: fix CONFIG_STATIC_LINK=y build failure with newer glibc 2010-10-26 16:52:12 -07:00
vmlinux.lds.S arm, cris, mips, sparc, powerpc, um, xtensa: fix build with bash 4.0 2009-09-20 12:28:22 +02:00