summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2019-07-11 23:57:14 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2019-07-12 14:05:44 -0400
commit67a929e097b774c69253c8b61ef9eb8a42b463a3 (patch)
tree33b72a242790fe48f2deafcce0b3e41870503ab9
parent7b9afb86b6328f10dc2cad9223d7def12d60e505 (diff)
mm: rename CONFIG_HAVE_GENERIC_GUP to CONFIG_HAVE_FAST_GUP
We only support the generic GUP now, so rename the config option to be more clear, and always use the mm/Kconfig definition of the symbol and select it from the arch Kconfigs. Link: http://lkml.kernel.org/r/20190625143715.1689-11-hch@lst.de Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Khalid Aziz <khalid.aziz@oracle.com> Reviewed-by: Jason Gunthorpe <jgg@mellanox.com> Cc: Andrey Konovalov <andreyknvl@google.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: David Miller <davem@davemloft.net> Cc: James Hogan <jhogan@kernel.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Paul Burton <paul.burton@mips.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Rich Felker <dalias@libc.org> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--arch/arm/Kconfig5
-rw-r--r--arch/arm64/Kconfig4
-rw-r--r--arch/mips/Kconfig2
-rw-r--r--arch/powerpc/Kconfig2
-rw-r--r--arch/s390/Kconfig2
-rw-r--r--arch/sh/Kconfig2
-rw-r--r--arch/sparc/Kconfig2
-rw-r--r--arch/x86/Kconfig4
-rw-r--r--mm/Kconfig2
-rw-r--r--mm/gup.c4
10 files changed, 11 insertions, 18 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 0c55aa199c67..2bf1ce39a96d 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -75,6 +75,7 @@ config ARM
75 select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE 75 select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE
76 select HAVE_EFFICIENT_UNALIGNED_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && MMU 76 select HAVE_EFFICIENT_UNALIGNED_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && MMU
77 select HAVE_EXIT_THREAD 77 select HAVE_EXIT_THREAD
78 select HAVE_FAST_GUP if ARM_LPAE
78 select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL 79 select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
79 select HAVE_FUNCTION_GRAPH_TRACER if !THUMB2_KERNEL && !CC_IS_CLANG 80 select HAVE_FUNCTION_GRAPH_TRACER if !THUMB2_KERNEL && !CC_IS_CLANG
80 select HAVE_FUNCTION_TRACER if !XIP_KERNEL 81 select HAVE_FUNCTION_TRACER if !XIP_KERNEL
@@ -1625,10 +1626,6 @@ config ARCH_SPARSEMEM_DEFAULT
1625config HAVE_ARCH_PFN_VALID 1626config HAVE_ARCH_PFN_VALID
1626 def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM 1627 def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
1627 1628
1628config HAVE_GENERIC_GUP
1629 def_bool y
1630 depends on ARM_LPAE
1631
1632config HIGHMEM 1629config HIGHMEM
1633 bool "High Memory Support" 1630 bool "High Memory Support"
1634 depends on MMU 1631 depends on MMU
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index c085aec9459b..a36ff61321ce 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -143,6 +143,7 @@ config ARM64
143 select HAVE_DMA_CONTIGUOUS 143 select HAVE_DMA_CONTIGUOUS
144 select HAVE_DYNAMIC_FTRACE 144 select HAVE_DYNAMIC_FTRACE
145 select HAVE_EFFICIENT_UNALIGNED_ACCESS 145 select HAVE_EFFICIENT_UNALIGNED_ACCESS
146 select HAVE_FAST_GUP
146 select HAVE_FTRACE_MCOUNT_RECORD 147 select HAVE_FTRACE_MCOUNT_RECORD
147 select HAVE_FUNCTION_TRACER 148 select HAVE_FUNCTION_TRACER
148 select HAVE_FUNCTION_GRAPH_TRACER 149 select HAVE_FUNCTION_GRAPH_TRACER
@@ -267,9 +268,6 @@ config ZONE_DMA32
267 bool "Support DMA32 zone" if EXPERT 268 bool "Support DMA32 zone" if EXPERT
268 default y 269 default y
269 270
270config HAVE_GENERIC_GUP
271 def_bool y
272
273config ARCH_ENABLE_MEMORY_HOTPLUG 271config ARCH_ENABLE_MEMORY_HOTPLUG
274 def_bool y 272 def_bool y
275 273
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 51c05f669d57..7957d3457156 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -53,10 +53,10 @@ config MIPS
53 select HAVE_DMA_CONTIGUOUS 53 select HAVE_DMA_CONTIGUOUS
54 select HAVE_DYNAMIC_FTRACE 54 select HAVE_DYNAMIC_FTRACE
55 select HAVE_EXIT_THREAD 55 select HAVE_EXIT_THREAD
56 select HAVE_FAST_GUP
56 select HAVE_FTRACE_MCOUNT_RECORD 57 select HAVE_FTRACE_MCOUNT_RECORD
57 select HAVE_FUNCTION_GRAPH_TRACER 58 select HAVE_FUNCTION_GRAPH_TRACER
58 select HAVE_FUNCTION_TRACER 59 select HAVE_FUNCTION_TRACER
59 select HAVE_GENERIC_GUP
60 select HAVE_IDE 60 select HAVE_IDE
61 select HAVE_IOREMAP_PROT 61 select HAVE_IOREMAP_PROT
62 select HAVE_IRQ_EXIT_ON_IRQ_STACK 62 select HAVE_IRQ_EXIT_ON_IRQ_STACK
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 3b795a0cab62..959866c156de 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -185,12 +185,12 @@ config PPC
185 select HAVE_DYNAMIC_FTRACE_WITH_REGS if MPROFILE_KERNEL 185 select HAVE_DYNAMIC_FTRACE_WITH_REGS if MPROFILE_KERNEL
186 select HAVE_EBPF_JIT if PPC64 186 select HAVE_EBPF_JIT if PPC64
187 select HAVE_EFFICIENT_UNALIGNED_ACCESS if !(CPU_LITTLE_ENDIAN && POWER7_CPU) 187 select HAVE_EFFICIENT_UNALIGNED_ACCESS if !(CPU_LITTLE_ENDIAN && POWER7_CPU)
188 select HAVE_FAST_GUP
188 select HAVE_FTRACE_MCOUNT_RECORD 189 select HAVE_FTRACE_MCOUNT_RECORD
189 select HAVE_FUNCTION_ERROR_INJECTION 190 select HAVE_FUNCTION_ERROR_INJECTION
190 select HAVE_FUNCTION_GRAPH_TRACER 191 select HAVE_FUNCTION_GRAPH_TRACER
191 select HAVE_FUNCTION_TRACER 192 select HAVE_FUNCTION_TRACER
192 select HAVE_GCC_PLUGINS if GCC_VERSION >= 50200 # plugin support on gcc <= 5.1 is buggy on PPC 193 select HAVE_GCC_PLUGINS if GCC_VERSION >= 50200 # plugin support on gcc <= 5.1 is buggy on PPC
193 select HAVE_GENERIC_GUP
194 select HAVE_HW_BREAKPOINT if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx) 194 select HAVE_HW_BREAKPOINT if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx)
195 select HAVE_IDE 195 select HAVE_IDE
196 select HAVE_IOREMAP_PROT 196 select HAVE_IOREMAP_PROT
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index f089ae375f6b..5d8570ed6cab 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -139,6 +139,7 @@ config S390
139 select HAVE_DMA_CONTIGUOUS 139 select HAVE_DMA_CONTIGUOUS
140 select HAVE_DYNAMIC_FTRACE 140 select HAVE_DYNAMIC_FTRACE
141 select HAVE_DYNAMIC_FTRACE_WITH_REGS 141 select HAVE_DYNAMIC_FTRACE_WITH_REGS
142 select HAVE_FAST_GUP
142 select HAVE_EFFICIENT_UNALIGNED_ACCESS 143 select HAVE_EFFICIENT_UNALIGNED_ACCESS
143 select HAVE_FENTRY 144 select HAVE_FENTRY
144 select HAVE_FTRACE_MCOUNT_RECORD 145 select HAVE_FTRACE_MCOUNT_RECORD
@@ -146,7 +147,6 @@ config S390
146 select HAVE_FUNCTION_TRACER 147 select HAVE_FUNCTION_TRACER
147 select HAVE_FUTEX_CMPXCHG if FUTEX 148 select HAVE_FUTEX_CMPXCHG if FUTEX
148 select HAVE_GCC_PLUGINS 149 select HAVE_GCC_PLUGINS
149 select HAVE_GENERIC_GUP
150 select HAVE_KERNEL_BZIP2 150 select HAVE_KERNEL_BZIP2
151 select HAVE_KERNEL_GZIP 151 select HAVE_KERNEL_GZIP
152 select HAVE_KERNEL_LZ4 152 select HAVE_KERNEL_LZ4
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 02ae8132ebfe..31a7d12db705 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -15,7 +15,7 @@ config SUPERH
15 select HAVE_ARCH_TRACEHOOK 15 select HAVE_ARCH_TRACEHOOK
16 select HAVE_PERF_EVENTS 16 select HAVE_PERF_EVENTS
17 select HAVE_DEBUG_BUGVERBOSE 17 select HAVE_DEBUG_BUGVERBOSE
18 select HAVE_GENERIC_GUP 18 select HAVE_FAST_GUP if MMU
19 select ARCH_HAVE_CUSTOM_GPIO_H 19 select ARCH_HAVE_CUSTOM_GPIO_H
20 select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A) 20 select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
21 select ARCH_HAS_GCOV_PROFILE_ALL 21 select ARCH_HAS_GCOV_PROFILE_ALL
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index c59464755764..e9f5d62e9817 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -28,7 +28,7 @@ config SPARC
28 select RTC_DRV_M48T59 28 select RTC_DRV_M48T59
29 select RTC_SYSTOHC 29 select RTC_SYSTOHC
30 select HAVE_ARCH_JUMP_LABEL if SPARC64 30 select HAVE_ARCH_JUMP_LABEL if SPARC64
31 select HAVE_GENERIC_GUP if SPARC64 31 select HAVE_FAST_GUP if SPARC64
32 select GENERIC_IRQ_SHOW 32 select GENERIC_IRQ_SHOW
33 select ARCH_WANT_IPC_PARSE_VERSION 33 select ARCH_WANT_IPC_PARSE_VERSION
34 select GENERIC_PCI_IOMAP 34 select GENERIC_PCI_IOMAP
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 71c1f7864434..9df2d1cb7a9e 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -159,6 +159,7 @@ config X86
159 select HAVE_EFFICIENT_UNALIGNED_ACCESS 159 select HAVE_EFFICIENT_UNALIGNED_ACCESS
160 select HAVE_EISA 160 select HAVE_EISA
161 select HAVE_EXIT_THREAD 161 select HAVE_EXIT_THREAD
162 select HAVE_FAST_GUP
162 select HAVE_FENTRY if X86_64 || DYNAMIC_FTRACE 163 select HAVE_FENTRY if X86_64 || DYNAMIC_FTRACE
163 select HAVE_FTRACE_MCOUNT_RECORD 164 select HAVE_FTRACE_MCOUNT_RECORD
164 select HAVE_FUNCTION_GRAPH_TRACER 165 select HAVE_FUNCTION_GRAPH_TRACER
@@ -2907,9 +2908,6 @@ config HAVE_ATOMIC_IOMAP
2907config X86_DEV_DMA_OPS 2908config X86_DEV_DMA_OPS
2908 bool 2909 bool
2909 2910
2910config HAVE_GENERIC_GUP
2911 def_bool y
2912
2913source "drivers/firmware/Kconfig" 2911source "drivers/firmware/Kconfig"
2914 2912
2915source "arch/x86/kvm/Kconfig" 2913source "arch/x86/kvm/Kconfig"
diff --git a/mm/Kconfig b/mm/Kconfig
index 53e2ca54b385..b5a258d62465 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -132,7 +132,7 @@ config HAVE_MEMBLOCK_NODE_MAP
132config HAVE_MEMBLOCK_PHYS_MAP 132config HAVE_MEMBLOCK_PHYS_MAP
133 bool 133 bool
134 134
135config HAVE_GENERIC_GUP 135config HAVE_FAST_GUP
136 bool 136 bool
137 137
138config ARCH_KEEP_MEMBLOCK 138config ARCH_KEEP_MEMBLOCK
diff --git a/mm/gup.c b/mm/gup.c
index 2093283e4933..2f69b30a11d3 100644
--- a/mm/gup.c
+++ b/mm/gup.c
@@ -1651,7 +1651,7 @@ struct page *get_dump_page(unsigned long addr)
1651#endif /* CONFIG_ELF_CORE */ 1651#endif /* CONFIG_ELF_CORE */
1652 1652
1653/* 1653/*
1654 * Generic Fast GUP 1654 * Fast GUP
1655 * 1655 *
1656 * get_user_pages_fast attempts to pin user pages by walking the page 1656 * get_user_pages_fast attempts to pin user pages by walking the page
1657 * tables directly and avoids taking locks. Thus the walker needs to be 1657 * tables directly and avoids taking locks. Thus the walker needs to be
@@ -1683,7 +1683,7 @@ struct page *get_dump_page(unsigned long addr)
1683 * 1683 *
1684 * This code is based heavily on the PowerPC implementation by Nick Piggin. 1684 * This code is based heavily on the PowerPC implementation by Nick Piggin.
1685 */ 1685 */
1686#ifdef CONFIG_HAVE_GENERIC_GUP 1686#ifdef CONFIG_HAVE_FAST_GUP
1687#ifdef CONFIG_GUP_GET_PTE_LOW_HIGH 1687#ifdef CONFIG_GUP_GET_PTE_LOW_HIGH
1688/* 1688/*
1689 * WARNING: only to be used in the get_user_pages_fast() implementation. 1689 * WARNING: only to be used in the get_user_pages_fast() implementation.