linux_dsm_epyc7002/arch/arm
Aneesh Kumar K.V 07e326610e mm: add tlb_remove_check_page_size_change to track page size change
With commit e77b0852b5 ("mm/mmu_gather: track page size with mmu
gather and force flush if page size change") we added the ability to
force a tlb flush when the page size change in a mmu_gather loop.  We
did that by checking for a page size change every time we added a page
to mmu_gather for lazy flush/remove.  We can improve that by moving the
page size change check early and not doing it every time we add a page.

This also helps us to do tlb flush when invalidating a range covering
dax mapping.  Wrt dax mapping we don't have a backing struct page and
hence we don't call tlb_remove_page, which earlier forced the tlb flush
on page size change.  Moving the page size change check earlier means we
will do the same even for dax mapping.

We also avoid doing this check on architecture other than powerpc.

In a later patch we will remove page size check from tlb_remove_page().

Link: http://lkml.kernel.org/r/20161026084839.27299-5-aneesh.kumar@linux.vnet.ibm.com
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-12-12 18:55:07 -08:00
..
boot Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-10 16:21:55 -05:00
common Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2016-10-06 07:59:37 -07:00
configs ARM: multi_v7_defconfig: Enable Intel e1000e driver 2016-10-17 15:03:20 -07:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-10-10 11:19:47 +08:00
firmware
include mm: add tlb_remove_check_page_size_change to track page size change 2016-12-12 18:55:07 -08:00
kernel Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
kvm arm/arm64: KVM: Perform local TLB invalidation when multiplexing vcpus on a single CPU 2016-11-04 17:56:28 +00:00
lib Revert "arm: move exports to definitions" 2016-11-23 10:00:03 +00:00
mach-alpine
mach-artpec
mach-asm9260
mach-aspeed
mach-at91 ARM: stop *MIGHT_HAVE_PCI* config from being selected redundantly 2016-09-21 22:45:05 +02:00
mach-axxia ARM: select PCI_DOMAINS config from ARCH_MULTIPLATFORM 2016-09-21 22:45:13 +02:00
mach-bcm ARM: SoC platform updates for v4.9 2016-10-07 21:18:42 -07:00
mach-berlin
mach-clps711x ARM: clps711x: remove extraneous files 2016-09-02 18:15:00 +02:00
mach-cns3xxx ARM: select PCI_DOMAINS config from ARCH_MULTIPLATFORM 2016-09-21 22:45:13 +02:00
mach-davinci ARM: DT updates for v4.9 2016-10-07 21:29:04 -07:00
mach-digicolor
mach-dove
mach-ebsa110
mach-efm32
mach-ep93xx
mach-exynos ARM: SoC platform updates for v4.9 2016-10-07 21:18:42 -07:00
mach-footbridge ARM: document and update UNCACHEABLE_ADDR definitions 2016-08-26 15:10:19 +01:00
mach-gemini
mach-highbank
mach-hisi ARM: hisi: consolidate the hisilicon machine entries 2016-07-07 09:37:59 +01:00
mach-imx Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm 2016-11-26 15:26:20 -08:00
mach-integrator ARM: SoC: late DT updates for v4.9 2016-10-07 21:34:49 -07:00
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx
mach-keystone ARM: select PCI_DOMAINS config from ARCH_MULTIPLATFORM 2016-09-21 22:45:13 +02:00
mach-ks8695
mach-lpc18xx
mach-lpc32xx
mach-mediatek
mach-meson arm: meson: explicitly select clk drivers 2016-07-07 17:54:25 +02:00
mach-mmp
mach-moxart ARM: SoC cleanups for v4.8 2016-08-01 18:21:13 -04:00
mach-mv78xx0 ARM: mv78xx0: simplify ethernet device creation 2016-09-14 16:35:37 +02:00
mach-mvebu mvebu fixes for 4.8 (part 3) 2016-10-17 13:44:03 -07:00
mach-mxs ARM: mxs: remove obsolete startup code for TX28 2016-08-09 14:01:41 +08:00
mach-netx
mach-nomadik ARM: nomadik: select MFD_SYSCON 2016-09-09 23:15:50 +02:00
mach-nspire DeviceTree update for 4.8: 2016-07-30 11:32:01 -07:00
mach-omap1 ARM: OMAP1: use IS_ENABLED() instead of checking for built-in or module 2016-08-26 08:41:59 -07:00
mach-omap2 ARM: OMAP2+: avoid NULL pointer dereference 2016-11-07 16:24:53 -07:00
mach-orion5x ARM: orion5x: remove extraneous NO_IRQ 2016-09-14 16:36:20 +02:00
mach-oxnas ARM: oxnas: select reset controller framework 2016-08-10 22:42:32 +02:00
mach-picoxcell ARM: SoC cleanups for v4.8 2016-08-01 18:21:13 -04:00
mach-prima2 ARM: SoC cleanups for v4.8 2016-08-01 18:21:13 -04:00
mach-pxa ARM: pxa: enhance smc91x platform data 2016-10-18 14:14:20 -04:00
mach-qcom ARM: qcom: Cleanup/Remove unnecessary board file 2016-08-23 15:46:05 -05:00
mach-realview This deletes the realview boardfiles, consolidates a bit 2016-09-02 18:12:09 +02:00
mach-rockchip ARM: SoC cleanups for v4.8 2016-08-01 18:21:13 -04:00
mach-rpc ARM: document and update UNCACHEABLE_ADDR definitions 2016-08-26 15:10:19 +01:00
mach-s3c24xx ARM: SoC platform updates for v4.9 2016-10-07 21:18:42 -07:00
mach-s3c64xx ARM: s3c64xx: Delete unnecessary assignment for the field "owner" 2016-08-16 08:16:43 +02:00
mach-s5pv210 ARM: don't include removed directories 2016-08-10 22:42:18 +02:00
mach-sa1100 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2016-10-07 09:12:19 -07:00
mach-shmobile ARM: SoC platform updates for v4.9 2016-10-07 21:18:42 -07:00
mach-socfpga
mach-spear ARM: stop *MIGHT_HAVE_PCI* config from being selected redundantly 2016-09-21 22:45:05 +02:00
mach-sti Highlights: 2016-07-14 15:08:15 +02:00
mach-stm32
mach-sunxi ARM: sunxi: Support the Nextthing GR8 2016-09-08 14:32:23 +02:00
mach-tango ARM: tango: add Suspend-to-RAM support 2016-07-07 16:09:30 +02:00
mach-tegra ARM: SoC cleanups for v4.8 2016-08-01 18:21:13 -04:00
mach-u300 ARM: SoC cleanups for v4.8 2016-08-01 18:21:13 -04:00
mach-uniphier ARM: uniphier: select ARCH_HAS_RESET_CONTROLLER 2016-10-22 18:25:35 +09:00
mach-ux500 ARM: SoC driver updates for v4.8 2016-08-01 18:36:01 -04:00
mach-versatile ARM: stop *MIGHT_HAVE_PCI* config from being selected redundantly 2016-09-21 22:45:05 +02:00
mach-vexpress ARM: SoC cleanups for v4.8 2016-08-01 18:21:13 -04:00
mach-vt8500 ARM: SoC cleanups for v4.8 2016-08-01 18:21:13 -04:00
mach-w90x900
mach-zx
mach-zynq
mm ARM: 8628/1: dma-mapping: preallocate DMA-debug hash tables in core_initcall 2016-11-15 15:29:37 +00:00
net
nwfpe
oprofile
plat-iop ARM: iop: Fix indentation 2016-07-07 18:06:40 +02:00
plat-omap
plat-orion ARM: orion: simplify orion_ge00_switch_init 2016-09-14 16:36:13 +02:00
plat-pxa ARM: pxa: remove platform dma code 2016-08-09 08:16:58 +02:00
plat-samsung ARM: EXYNOS: Remove unused DMC and CMU offsets and their mappings 2016-08-24 06:42:27 +02:00
plat-versatile
probes
tools
vdso
vfp arm: Convert VFP hotplug notifiers to state machine 2016-07-15 10:40:22 +02:00
xen arm/xen: fix SMP guests boot 2016-09-14 14:39:13 +01:00
Kconfig Merge branch 'akpm' (patches from Andrew) 2016-10-07 21:38:00 -07:00
Kconfig-nommu
Kconfig.debug Renesas ARM Based SoC Updates for v4.9 2016-09-15 00:27:27 +02:00
Makefile Merge branches 'misc' and 'sa1111-base' into for-linus 2016-10-06 08:56:43 +01:00