linux/arch/arm
Michel Lespinasse 6b2dbba8b6 mm: replace vma prio_tree with an interval tree
Implement an interval tree as a replacement for the VMA prio_tree.  The
algorithms are similar to lib/interval_tree.c; however that code can't be
directly reused as the interval endpoints are not explicitly stored in the
VMA.  So instead, the common algorithm is moved into a template and the
details (node type, how to get interval endpoints from the node, etc) are
filled in using the C preprocessor.

Once the interval tree functions are available, using them as a
replacement to the VMA prio tree is a relatively simple, mechanical job.

Signed-off-by: Michel Lespinasse <walken@google.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Hillf Danton <dhillf@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-10-09 16:22:39 +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
configs ARM: soc: late platform updates 2012-10-07 20:55:16 +09:00
crypto
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
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
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
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
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
mach-s5pc100
mach-s5pv210
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
mach-spear3xx
mach-spear6xx
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
mach-zynq
mm mm: replace vma prio_tree with an interval tree 2012-10-09 16:22:39 +09:00
net
nwfpe
oprofile
plat-iop
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
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
plat-s3c24xx
plat-samsung Sound updates for 3.7-rc1 2012-10-09 07:07:14 +09:00
plat-spear
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
xen
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