kernel_optimize_test/arch/arm
Russell King 4b3073e1c5 MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself
On VIVT ARM, when we have multiple shared mappings of the same file
in the same MM, we need to ensure that we have coherency across all
copies.  We do this via make_coherent() by making the pages
uncacheable.

This used to work fine, until we allowed highmem with highpte - we
now have a page table which is mapped as required, and is not available
for modification via update_mmu_cache().

Ralf Beache suggested getting rid of the PTE value passed to
update_mmu_cache():

  On MIPS update_mmu_cache() calls __update_tlb() which walks pagetables
  to construct a pointer to the pte again.  Passing a pte_t * is much
  more elegant.  Maybe we might even replace the pte argument with the
  pte_t?

Ben Herrenschmidt would also like the pte pointer for PowerPC:

  Passing the ptep in there is exactly what I want.  I want that
  -instead- of the PTE value, because I have issue on some ppc cases,
  for I$/D$ coherency, where set_pte_at() may decide to mask out the
  _PAGE_EXEC.

So, pass in the mapped page table pointer into update_mmu_cache(), and
remove the PTE value, updating all implementations and call sites to
suit.

Includes a fix from Stephen Rothwell:

  sparc: fix fallout from update_mmu_cache API change

  Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-02-20 16:41:46 +00:00
..
boot arm: add support for LZO-compressed kernels 2010-01-11 09:34:05 -08:00
common ARM: 5857/1: ARM: dmabounce: fix build 2009-12-22 15:32:32 +00:00
configs ARM: 5867/1: Update U300 defconfig 2010-01-08 16:14:28 +00:00
include/asm MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself 2010-02-20 16:41:46 +00:00
kernel ARM: Fix wrong dmb 2010-01-12 18:59:16 +00:00
lib Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 2009-09-19 13:47:57 +01:00
mach-aaec2000
mach-at91 atmel-mci: change use of dma slave interface 2009-12-15 08:53:35 -08:00
mach-bcmring Merge git://git.infradead.org/mtd-2.6 2009-12-16 10:23:43 -08:00
mach-clps711x ARM: fix clps711x, footbridge, integrator, ixp2000, ixp2300 and s3c build bug 2009-12-13 16:33:19 +00:00
mach-davinci Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2010-01-15 14:51:57 -08:00
mach-dove ARM: Add Tauros2 L2 cache controller support 2009-11-27 15:43:21 -05:00
mach-ebsa110
mach-ep93xx Input: ep93xx_keypad - update driver to new core support 2009-12-15 08:54:45 -08:00
mach-footbridge ARM: footbridge: trim down old ISA rtc setup 2009-12-24 13:39:18 +00:00
mach-gemini
mach-h720x
mach-integrator ARM: fix clps711x, footbridge, integrator, ixp2000, ixp2300 and s3c build bug 2009-12-13 16:33:19 +00:00
mach-iop13xx Merge branch 'devel-stable' into devel 2009-12-05 10:35:33 +00:00
mach-iop32x iop: enable generic time 2009-10-29 11:46:55 -07:00
mach-iop33x iop: enable generic time 2009-10-29 11:46:55 -07:00
mach-ixp4xx IXP4xx: GTWX5715 platform only has two PCI IRQ lines, not four. 2009-12-05 16:58:41 +01:00
mach-ixp23xx ARM: fix clps711x, footbridge, integrator, ixp2000, ixp2300 and s3c build bug 2009-12-13 16:33:19 +00:00
mach-ixp2000 ARM: fix clps711x, footbridge, integrator, ixp2000, ixp2300 and s3c build bug 2009-12-13 16:33:19 +00:00
mach-kirkwood [ARM] Kirkwood: Add LaCie Network Space v2 support 2009-12-10 23:01:57 -05:00
mach-ks8695 ARM: dma-mapping: provide dma_to_page() 2009-11-23 12:53:54 +00:00
mach-l7200
mach-lh7a40x ARM: 5871/1: arch/arm: Fix build failure for lpd7a404_defconfig caused by missing includes 2010-01-10 00:08:14 +00:00
mach-loki
mach-mmp [ARM] pxa/ttc_dkb: remove duplicate macro definition 2009-12-29 14:11:33 +08:00
mach-msm HTC Dream: mmc compilation fixes 2009-12-10 10:14:34 -08:00
mach-mv78xx0 [ARM] properly report mv78100 stepping A1 2009-11-05 23:03:19 -05:00
mach-mx1
mach-mx2 mx27: mxt_td60: Remove not used UART pins 2010-01-04 11:47:43 +01:00
mach-mx3 imx/mx3: depend on USB_ULPI for otg_ulpi_create 2010-01-04 13:26:23 +01:00
mach-mx25 mx25: pdk: add platform code for FEC support 2010-01-04 11:47:44 +01:00
mach-mxc91231
mach-netx
mach-nomadik Merge git://git.infradead.org/mtd-2.6 2009-12-16 10:23:43 -08:00
mach-ns9xxx genirq: Convert irq_desc.lock to raw_spinlock 2009-12-14 23:55:33 +01:00
mach-omap1 Merge branch 'for_2.6.33rc_c' of git://git.pwsan.com/linux-2.6 into omap-fixes-for-linus 2010-01-08 14:27:56 -08:00
mach-omap2 Merge branch 'for_2.6.33rc_c' of git://git.pwsan.com/linux-2.6 into omap-fixes-for-linus 2010-01-08 14:27:56 -08:00
mach-orion5x tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
mach-pnx4008
mach-pxa [ARM] pxa: fix strange characters in zaurus gpio .desc 2010-01-08 09:42:45 +08:00
mach-realview ARM: 5873/1: ARM: Fix the reset logic for ARM RealView boards 2010-01-11 15:39:21 +00:00
mach-rpc
mach-s3c24a0/include/mach ARM: fix clps711x, footbridge, integrator, ixp2000, ixp2300 and s3c build bug 2009-12-13 16:33:19 +00:00
mach-s3c2400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
mach-s3c2410 ARM: S3C24XX: touchscreen device definition 2009-12-23 19:28:12 +00:00
mach-s3c2412 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
mach-s3c2440 ARM: MINI2440: Fixup __initdata usage 2010-01-15 17:04:42 +09:00
mach-s3c2442 Merge git://git.infradead.org/battery-2.6 2009-12-15 08:59:33 -08:00
mach-s3c2443 Kconfig: Remove useless and sometimes wrong comments 2009-11-09 09:40:56 +01:00
mach-s3c6400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
mach-s3c6410 ARM: SMDK6410: Specify no GPIO for B_PWR_5V regulator 2010-01-15 09:52:51 +09:00
mach-s5pc100 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
mach-sa1100 ARM: fix sa1100 build 2009-12-13 19:38:08 +00:00
mach-shark
mach-stmp37xx
mach-stmp378x
mach-u300 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2009-12-16 10:28:56 -08:00
mach-ux500 ARM: 5832/1: ARM: U8500 Makefile.boot 2009-11-28 10:22:52 +00:00
mach-versatile ARM: 5720/1: Move MMCI header to amba include dir 2009-09-22 20:49:04 +01:00
mach-w90x900 ARM: 5864/1: Implement arch_reset() in NUC900 2010-01-05 20:52:45 +00:00
mm MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself 2010-02-20 16:41:46 +00:00
nwfpe ARM: Kill CONFIG_CPU_32 2009-12-18 16:07:53 +00:00
oprofile ARM: 5849/1: ARMv7: fix Oprofile events count 2009-12-22 15:32:31 +00:00
plat-iop iop: implement sched_clock() 2009-10-29 11:46:56 -07:00
plat-mxc mx25: add support for FEC on i.MX25 2010-01-04 11:47:44 +01:00
plat-nomadik ARM: 5833/1: ARM nomadik: enable U8500 for common platform 2009-11-28 10:22:53 +00:00
plat-omap Merge branch 'for_2.6.33rc_c' of git://git.pwsan.com/linux-2.6 into omap-fixes-for-linus 2010-01-08 14:27:56 -08:00
plat-orion
plat-pxa [ARM] pxa: use resource_size() in pwm.c 2009-12-29 14:11:27 +08:00
plat-s3c ARM: S3C: NAND: Check the existence of nr_map before copying 2010-01-14 11:25:44 +09:00
plat-s3c24xx ARM: S3C24XX: touchscreen device definition 2009-12-23 19:28:12 +00:00
plat-s3c64xx ARM: S3C64XX: Fix possible clock look in EPLL and MPLL clock chains 2010-01-07 11:34:51 +09:00
plat-s5pc1xx Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
plat-samsung ARM: SAMSUNG: Add plat-samsung as starting point for plat-s3c* moves 2009-12-01 01:28:37 +00:00
plat-stmp3xxx ARM: STMP3xxx: deallocation with negative index of descriptors[] 2009-09-19 12:14:05 +01:00
tools Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2009-12-17 15:53:41 -08:00
vfp ARM: Convert VFP/Crunch/XscaleCP thread_release() to exit_thread() 2009-12-18 14:53:41 +00:00
Kconfig arm: add support for LZO-compressed kernels 2010-01-11 09:34:05 -08:00
Kconfig-nommu
Kconfig.debug Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel 2009-12-13 16:35:09 +00:00
Makefile arm: move mach-types to include/generated 2009-12-12 13:08:14 +01:00