linux/arch/arm
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
..
boot Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00
common ARM: dma-mapping: add support for dma_get_sgtable() 2012-07-30 12:25:47 +02:00
configs ARM: soc: late platform updates 2012-10-07 20:55:16 +09:00
crypto arm/crypto: Add optimized AES and SHA1 routines 2012-09-07 04:17:02 +08:00
include Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00
kernel Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00
lib Merge branch 'arch-timers' into for-linus 2012-10-04 23:02:26 +01:00
mach-at91 sections: fix section conflicts in arch/arm/ 2012-10-06 03:04:38 +09:00
mach-bcm2835 ARM: dtb: move all dtb targets to common Makefile 2012-09-20 22:58:17 -07:00
mach-clps711x ARM: soc: driver specific changes 2012-10-01 18:46:13 -07:00
mach-cns3xxx
mach-davinci Sound updates for 3.7-rc1 2012-10-09 07:07:14 +09:00
mach-dove ARM: soc: device tree updates 2012-10-01 18:28:06 -07:00
mach-ebsa110 ARM: soc: driver specific changes 2012-10-01 18:46:13 -07:00
mach-ep93xx ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-exynos Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00
mach-footbridge ARM: soc: driver specific changes 2012-10-01 18:46:13 -07:00
mach-gemini ARM: gemini: fix the gemini build 2012-09-04 22:17:34 -07:00
mach-h720x
mach-highbank Merge branch 'for-v3.7' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-10-02 19:13:12 -07:00
mach-imx Sound updates for 3.7-rc1 2012-10-09 07:07:14 +09:00
mach-integrator Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00
mach-iop13xx Merge branch 'cleanup/__iomem' into next/cleanup 2012-09-22 10:24:29 -07:00
mach-iop32x Merge branch 'cleanup/__iomem' into next/cleanup 2012-09-22 10:24:29 -07:00
mach-iop33x
mach-ixp4xx ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-kirkwood ARM: kirkwood: dockstar: fix header include 2012-09-22 14:24:04 -07:00
mach-ks8695 ARM: soc: board specific updates 2012-10-01 18:48:30 -07:00
mach-l7200/include/mach
mach-lpc32xx ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-mmp ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-msm sections: fix section conflicts in arch/arm/ 2012-10-06 03:04:38 +09:00
mach-mv78xx0 Merge branch 'kirkwood/addr_decode' of git://git.infradead.org/users/jcooper/linux into late/kirkwood 2012-09-22 14:22:47 -07:00
mach-mvebu ARM: mvebu: fix build breaks from multi-platform conversion 2012-09-28 22:27:07 +02:00
mach-mxs ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-netx ARM: netx: move platform_data definitions 2012-09-14 11:17:36 +02:00
mach-nomadik These are the bulk pinctrl changes for kernel v3.7: 2012-10-02 16:20:20 -07:00
mach-omap1 ARM: soc: late platform updates 2012-10-07 20:55:16 +09:00
mach-omap2 Sound updates for 3.7-rc1 2012-10-09 07:07:14 +09:00
mach-orion5x ARM: soc: late platform updates 2012-10-07 20:55:16 +09:00
mach-picoxcell ARM: initial multiplatform support 2012-09-14 09:22:06 -05:00
mach-prima2 ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-pxa Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2012-10-02 09:54:49 -07:00
mach-realview ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-rpc
mach-s3c24xx ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-s3c64xx ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-s3c2410
mach-s3c2412
mach-s3c2440
mach-s5p64x0 ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
mach-s5pc100 ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
mach-s5pv210 ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
mach-sa1100 Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00
mach-shark ARM: soc: driver specific changes 2012-10-01 18:46:13 -07:00
mach-shmobile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00
mach-socfpga ARM: initial multiplatform support 2012-09-14 09:22:06 -05:00
mach-spear3xx ARM: move all dtb targets out of Makefile.boot 2012-09-14 09:22:04 -05:00
mach-spear6xx ARM: move all dtb targets out of Makefile.boot 2012-09-14 09:22:04 -05:00
mach-spear13xx ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-tegra Sound updates for 3.7-rc1 2012-10-09 07:07:14 +09:00
mach-u300 MFD bits for the 3.7 merge window. 2012-10-05 12:01:30 +09:00
mach-ux500 These are the bulk pinctrl changes for kernel v3.7: 2012-10-02 16:20:20 -07:00
mach-versatile ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-vexpress Features: 2012-10-07 07:13:01 +09:00
mach-vt8500 ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-w90x900 ARM: w90x900: move platform_data definitions 2012-09-14 11:18:59 +02:00
mach-zynq
mm readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
net
nwfpe
oprofile
plat-iop Bunch of perf updates for the ARM backend that pave the way for 2012-09-04 22:12:41 -07:00
plat-mxc Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-10-07 17:49:05 +09:00
plat-nomadik ARM: nomadik: move platform_data definitions 2012-09-14 11:19:00 +02:00
plat-omap ARM: soc: late platform updates 2012-10-07 20:55:16 +09:00
plat-orion ARM: mvebu: fix build breaks from multi-platform conversion 2012-09-28 22:27:07 +02:00
plat-pxa ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
plat-s3c24xx ARM: S3C24XX: Fix s3c2410_dma_enqueue parameters 2012-08-08 09:04:51 +09:00
plat-samsung Sound updates for 3.7-rc1 2012-10-09 07:07:14 +09:00
plat-spear Merge branch 'multiplatform/platform-data' into next/multiplatform 2012-09-22 01:07:21 -07:00
plat-versatile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00
tools ARM: soc: cleanups, part 2 2012-10-01 18:32:45 -07:00
vfp ARM: 7483/1: vfp: only advertise VFPv4 in hwcaps if CONFIG_VFPv3 is enabled 2012-08-11 09:15:57 +01:00
xen xen/arm: receive Xen events on ARM 2012-09-14 13:37:32 +00:00
Kconfig Kconfig: clean up the long arch list for the DEBUG_KMEMLEAK config option 2012-10-09 16:22:14 +09:00
Kconfig-nommu
Kconfig.debug ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
Makefile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00