linux/arch/sh/include/asm
Aneesh Kumar K.V e9d55e1570 mm: change the interface for __tlb_remove_page()
This updates the generic and arch specific implementation to return true
if we need to do a tlb flush.  That means if a __tlb_remove_page
indicate a flush is needed, the page we try to remove need to be tracked
and added again after the flush.  We need to track it because we have
already update the pte to none and we can't just loop back.

This change is done to enable us to do a tlb_flush when we try to flush
a range that consists of different page sizes.  For architectures like
ppc64, we can do a range based tlb flush and we need to track page size
for that.  When we try to remove a huge page, we will force a tlb flush
and starts a new mmu gather.

[aneesh.kumar@linux.vnet.ibm.com: mm-change-the-interface-for-__tlb_remove_page-v3]
  Link: http://lkml.kernel.org/r/1465049193-22197-2-git-send-email-aneesh.kumar@linux.vnet.ibm.com
Link: http://lkml.kernel.org/r/1464860389-29019-2-git-send-email-aneesh.kumar@linux.vnet.ibm.com
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Hugh Dickins <hughd@google.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: David Rientjes <rientjes@google.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Minchan Kim <minchan.kim@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-07-26 16:19:19 -07:00
..
adc.h
addrspace.h
alignment.h
asm-offsets.h
atomic-grb.h locking/atomic, arch/sh: Implement atomic_fetch_{add,sub,and,or,xor}() 2016-06-16 10:48:29 +02:00
atomic-irq.h locking/atomic, arch/sh: Implement atomic_fetch_{add,sub,and,or,xor}() 2016-06-16 10:48:29 +02:00
atomic-llsc.h locking/atomic, arch/sh: Implement atomic_fetch_{add,sub,and,or,xor}() 2016-06-16 10:48:29 +02:00
atomic.h locking/atomic: Remove linux/atomic.h:atomic_fetch_or() 2016-06-16 10:48:32 +02:00
barrier.h sh: fix smp_store_mb for !SMP 2016-01-26 10:18:29 +02:00
bitops-grb.h
bitops-llsc.h
bitops-op32.h
bitops.h arch,sh: Convert smp_mb__*() 2014-04-18 14:20:44 +02:00
bl_bit.h
bl_bit_32.h
bl_bit_64.h
bug.h
bugs.h
cache.h
cache_insns.h
cache_insns_32.h
cache_insns_64.h
cacheflush.h
checksum.h
checksum_32.h ipv6: Pass proto to csum_ipv6_magic as __u8 instead of unsigned short 2016-03-13 23:55:13 -04:00
clock.h
cmpxchg-grb.h sh: support 1 and 2 byte xchg 2016-01-12 20:47:01 +02:00
cmpxchg-irq.h sh: support 1 and 2 byte xchg 2016-01-12 20:47:01 +02:00
cmpxchg-llsc.h sh: move xchg_cmpxchg to a header by itself 2016-01-12 20:47:02 +02:00
cmpxchg-xchg.h sh: move xchg_cmpxchg to a header by itself 2016-01-12 20:47:02 +02:00
cmpxchg.h sh: support 1 and 2 byte xchg 2016-01-12 20:47:01 +02:00
device.h
dma-mapping.h dma-mapping: always provide the dma_map_ops based implementation 2016-01-20 17:09:18 -08:00
dma-register.h dmaengine: shdma: Add more register documentation 2014-07-09 10:55:57 +02:00
dma.h
dmabrg.h
dwarf.h
elf.h
entry-macros.S
fb.h
fixmap.h
flat.h
fpu.h
freq.h
ftrace.h ftrace: Format MCOUNT_ADDR address as type unsigned long 2015-07-20 22:30:53 -04:00
futex-irq.h
futex.h
gpio.h
hardirq.h
hd64461.h
heartbeat.h
hugetlb.h mm/hugetlb: remove arch_prepare/release_hugepage from arch headers 2015-06-25 17:00:35 -07:00
hw_breakpoint.h
hw_irq.h
i2c-sh7760.h
io.h libnvdimm for 4.3: 2015-09-08 14:35:59 -07:00
io_generic.h
io_noioport.h sh: fix build error by adding generic ioport_{map/unmap}() 2014-08-06 18:01:13 -07:00
io_trapped.h Kconfig: rename HAS_IOPORT to HAS_IOPORT_MAP 2014-04-07 16:36:11 -07:00
irq.h
irqflags.h
Kbuild locking/rwsem, sh: Drop superfluous arch specific implementation 2016-04-13 10:42:19 +02:00
kdebug.h
kexec.h
kgdb.h
kmap_types.h
kprobes.h
linkage.h
machvec.h Kconfig: rename HAS_IOPORT to HAS_IOPORT_MAP 2014-04-07 16:36:11 -07:00
mc146818rtc.h
mmu.h
mmu_context.h Fix weird uses of num_online_cpus(). 2015-03-10 13:54:42 +10:30
mmu_context_32.h
mmu_context_64.h
mmzone.h
module.h
mutex-llsc.h
mutex.h
page.h sh: add copy_user_page() alias for __copy_user() 2015-10-16 11:42:28 -07:00
pci.h PCI: Move pci_dma_* helpers to common code 2016-03-07 10:40:02 -06:00
perf_event.h
pgalloc.h tree wide: get rid of __GFP_REPEAT for order-0 allocations part I 2016-06-24 17:23:52 -07:00
pgtable-2level.h
pgtable-3level.h
pgtable.h mm: make FIRST_USER_ADDRESS unsigned long on all archs 2015-02-11 17:06:03 -08:00
pgtable_32.h sh: drop _PAGE_FILE and pte_file()-related helpers 2015-02-10 14:30:33 -08:00
pgtable_64.h sh: drop _PAGE_FILE and pte_file()-related helpers 2015-02-10 14:30:33 -08:00
posix_types.h
processor.h arch, locking: Ciao arch_mutex_cpu_relax() 2014-07-17 12:32:47 +02:00
processor_32.h
processor_64.h
ptrace.h
ptrace_32.h
ptrace_64.h
push-switch.h
reboot.h
romimage-macros.h
rtc.h
seccomp.h
sections.h nosave: consolidate __nosave_{begin,end} in <asm/sections.h> 2014-10-09 22:26:04 -04:00
segment.h sh: macro whitespace fixes 2015-01-13 15:24:08 +02:00
setup.h
sfp-machine.h
sh7760fb.h
sh_bios.h
shmparam.h
siu.h
smc37c93x.h
smp-ops.h
smp.h sh: fix smp-shx3 build regression from removal of arch localtimer 2016-03-29 22:03:50 +00:00
sparsemem.h
spi.h
spinlock.h locking/spinlock, arch: Update and fix spin_unlock_wait() implementations 2016-06-14 11:55:15 +02:00
spinlock_types.h
sram.h
stackprotector.h
stacktrace.h
string.h
string_32.h
string_64.h
suspend.h
switch_to.h
switch_to_32.h sched, sh: Fold finish_arch_switch() into switch_to() 2015-08-04 09:38:05 +02:00
switch_to_64.h
syscall.h
syscall_32.h SH: define syscall_get_arch() for superh 2014-09-23 16:20:01 -04:00
syscall_64.h SH: define syscall_get_arch() for superh 2014-09-23 16:20:01 -04:00
syscalls.h
syscalls_32.h sh: push extra copy of r0-r2 for syscall parameters 2014-04-03 16:20:52 -07:00
syscalls_64.h
thread_info.h sh: Remove signal translation and exec_domain 2015-04-12 20:58:25 +02:00
timex.h
tlb.h mm: change the interface for __tlb_remove_page() 2016-07-26 16:19:19 -07:00
tlb_64.h
tlbflush.h
topology.h sh: fix function signature of cpu_coregroup_mask to match pointer type 2016-03-30 00:47:49 +00:00
traps.h
traps_32.h sh: don't pass saved userspace state to exception handlers 2014-04-03 16:20:52 -07:00
traps_64.h
types.h
uaccess.h sh/uaccess: fix sparse errors 2015-01-13 15:23:21 +02:00
uaccess_32.h
uaccess_64.h sh: fix put_user sparse errors 2015-01-13 15:23:38 +02:00
unaligned-sh4a.h
unaligned.h
uncached.h
unistd.h sys_sgetmask/sys_ssetmask: add CONFIG_SGETMASK_SYSCALL 2014-06-04 16:54:14 -07:00
unwinder.h
user.h
vga.h
vmlinux.lds.h
watchdog.h
word-at-a-time.h