diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-05-06 14:36:58 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-05-06 14:36:58 -0400 |
commit | 171c2bcbcb58a6699dad64d0c0b615af4f6ecb74 (patch) | |
tree | edb419c09e62949e3d8df97dfd0809096f7c1a93 /arch/sparc | |
parent | 423ea3255424b954947d167681b71ded1b8fca53 (diff) | |
parent | f6c6010a07734103a31faa0cc977641b358c45b0 (diff) |
Merge branch 'core-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull unified TLB flushing from Ingo Molnar:
"This contains the generic mmu_gather feature from Peter Zijlstra,
which is an all-arch unification of TLB flushing APIs, via the
following (broad) steps:
- enhance the <asm-generic/tlb.h> APIs to cover more arch details
- convert most TLB flushing arch implementations to the generic
<asm-generic/tlb.h> APIs.
- remove leftovers of per arch implementations
After this series every single architecture makes use of the unified
TLB flushing APIs"
* 'core-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
mm/resource: Use resource_overlaps() to simplify region_intersects()
ia64/tlb: Eradicate tlb_migrate_finish() callback
asm-generic/tlb: Remove tlb_table_flush()
asm-generic/tlb: Remove tlb_flush_mmu_free()
asm-generic/tlb: Remove CONFIG_HAVE_GENERIC_MMU_GATHER
asm-generic/tlb: Remove arch_tlb*_mmu()
s390/tlb: Convert to generic mmu_gather
asm-generic/tlb: Introduce CONFIG_HAVE_MMU_GATHER_NO_GATHER=y
arch/tlb: Clean up simple architectures
um/tlb: Convert to generic mmu_gather
sh/tlb: Convert SH to generic mmu_gather
ia64/tlb: Convert to generic mmu_gather
arm/tlb: Convert to generic mmu_gather
asm-generic/tlb, arch: Invert CONFIG_HAVE_RCU_TABLE_INVALIDATE
asm-generic/tlb, ia64: Conditionally provide tlb_migrate_finish()
asm-generic/tlb: Provide generic tlb_flush() based on flush_tlb_mm()
asm-generic/tlb, arch: Provide generic tlb_flush() based on flush_tlb_range()
asm-generic/tlb, arch: Provide generic VIPT cache flush
asm-generic/tlb, arch: Provide CONFIG_HAVE_MMU_GATHER_PAGE_SIZE
asm-generic/tlb: Provide a comment
Diffstat (limited to 'arch/sparc')
-rw-r--r-- | arch/sparc/Kconfig | 1 | ||||
-rw-r--r-- | arch/sparc/include/asm/tlb_32.h | 18 |
2 files changed, 1 insertions, 18 deletions
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 40f8f4f73fe8..db79290ed6d5 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig | |||
@@ -63,6 +63,7 @@ config SPARC64 | |||
63 | select HAVE_KRETPROBES | 63 | select HAVE_KRETPROBES |
64 | select HAVE_KPROBES | 64 | select HAVE_KPROBES |
65 | select HAVE_RCU_TABLE_FREE if SMP | 65 | select HAVE_RCU_TABLE_FREE if SMP |
66 | select HAVE_RCU_TABLE_NO_INVALIDATE if HAVE_RCU_TABLE_FREE | ||
66 | select HAVE_MEMBLOCK_NODE_MAP | 67 | select HAVE_MEMBLOCK_NODE_MAP |
67 | select HAVE_ARCH_TRANSPARENT_HUGEPAGE | 68 | select HAVE_ARCH_TRANSPARENT_HUGEPAGE |
68 | select HAVE_DYNAMIC_FTRACE | 69 | select HAVE_DYNAMIC_FTRACE |
diff --git a/arch/sparc/include/asm/tlb_32.h b/arch/sparc/include/asm/tlb_32.h index 343cea19e573..5cd28a8793e3 100644 --- a/arch/sparc/include/asm/tlb_32.h +++ b/arch/sparc/include/asm/tlb_32.h | |||
@@ -2,24 +2,6 @@ | |||
2 | #ifndef _SPARC_TLB_H | 2 | #ifndef _SPARC_TLB_H |
3 | #define _SPARC_TLB_H | 3 | #define _SPARC_TLB_H |
4 | 4 | ||
5 | #define tlb_start_vma(tlb, vma) \ | ||
6 | do { \ | ||
7 | flush_cache_range(vma, vma->vm_start, vma->vm_end); \ | ||
8 | } while (0) | ||
9 | |||
10 | #define tlb_end_vma(tlb, vma) \ | ||
11 | do { \ | ||
12 | flush_tlb_range(vma, vma->vm_start, vma->vm_end); \ | ||
13 | } while (0) | ||
14 | |||
15 | #define __tlb_remove_tlb_entry(tlb, pte, address) \ | ||
16 | do { } while (0) | ||
17 | |||
18 | #define tlb_flush(tlb) \ | ||
19 | do { \ | ||
20 | flush_tlb_mm((tlb)->mm); \ | ||
21 | } while (0) | ||
22 | |||
23 | #include <asm-generic/tlb.h> | 5 | #include <asm-generic/tlb.h> |
24 | 6 | ||
25 | #endif /* _SPARC_TLB_H */ | 7 | #endif /* _SPARC_TLB_H */ |