From: Christoph Hellwig <hch@lst.de>
To: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Randy Dunlap <rdunlap@infradead.org>,
linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 3/5] kconfig: include kernel/Kconfig.preempt from top-level Kconfig
Date: Mon, 2 Jul 2018 08:47:09 -0600 [thread overview]
Message-ID: <20180702144711.22111-4-hch@lst.de> (raw)
In-Reply-To: <20180702144711.22111-1-hch@lst.de>
Almost all architectures include it. Add a ARCH_NO_PREEMPT symbol to
disable preempt support for alpha, hexagon and non-coldfire m68k.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
arch/Kconfig | 3 +++
arch/alpha/Kconfig | 1 +
arch/arc/Kconfig | 2 --
arch/arm/Kconfig | 2 --
arch/arm64/Kconfig | 1 -
arch/c6x/Kconfig | 2 --
arch/h8300/Kconfig | 6 ------
arch/hexagon/Kconfig | 1 +
arch/ia64/Kconfig | 2 --
arch/m68k/Kconfig | 5 +----
arch/microblaze/Kconfig | 2 --
arch/mips/Kconfig | 2 --
arch/nds32/Kconfig | 1 -
arch/nios2/Kconfig | 2 --
arch/openrisc/Kconfig | 1 -
arch/parisc/Kconfig | 1 -
arch/powerpc/Kconfig | 1 -
arch/riscv/Kconfig | 2 --
arch/s390/Kconfig | 2 --
arch/sh/Kconfig | 2 --
arch/sparc/Kconfig | 2 --
arch/unicore32/Kconfig | 2 --
arch/x86/Kconfig | 2 --
arch/xtensa/Kconfig | 2 --
kernel/Kconfig.preempt | 4 +++-
25 files changed, 9 insertions(+), 44 deletions(-)
diff --git a/arch/Kconfig b/arch/Kconfig
index 1aa59063f1fd..1756fd093bd1 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -875,6 +875,9 @@ config COMPAT_32BIT_TIME
config ARCH_NO_COHERENT_DMA_MMAP
bool
+config ARCH_NO_PREEMPT
+ bool
+
config CPU_NO_EFFICIENT_FFS
def_bool n
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index e4334f017f8e..5b4f88363453 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -4,6 +4,7 @@ config ALPHA
default y
select ARCH_MIGHT_HAVE_PC_PARPORT
select ARCH_MIGHT_HAVE_PC_SERIO
+ select ARCH_NO_PREEMPT
select ARCH_USE_CMPXCHG_LOCKREF
select HAVE_AOUT
select HAVE_IDE
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index 5aab069eba17..639ab1bed835 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -545,8 +545,6 @@ config ARC_BUILTIN_DTB_NAME
Set the name of the DTB to embed in the vmlinux binary
Leaving it blank selects the minimal "skeleton" dtb
-source "kernel/Kconfig.preempt"
-
endmenu # "ARC Architecture Configuration"
config FORCE_MAX_ZONEORDER
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 9e45e296e581..311d75d017cf 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1479,8 +1479,6 @@ config ARCH_NR_GPIO
If unsure, leave the default value.
-source kernel/Kconfig.preempt
-
config HZ_FIXED
int
default 200 if ARCH_EBSA110
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 07d457ec417a..daf59d363dd3 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -752,7 +752,6 @@ config HOLES_IN_ZONE
def_bool y
depends on NUMA
-source kernel/Kconfig.preempt
source kernel/Kconfig.hz
config ARCH_SUPPORTS_DEBUG_PAGEALLOC
diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig
index 904b3375331e..a641b0bf1611 100644
--- a/arch/c6x/Kconfig
+++ b/arch/c6x/Kconfig
@@ -110,8 +110,6 @@ config KERNEL_RAM_BASE_ADDRESS
default 0xe0000000 if SOC_TMS320C6472
default 0x80000000
-source "kernel/Kconfig.preempt"
-
source "kernel/Kconfig.hz"
endmenu
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig
index c16e7cf732f7..5e89d40be8cd 100644
--- a/arch/h8300/Kconfig
+++ b/arch/h8300/Kconfig
@@ -49,9 +49,3 @@ config NR_CPUS
default 1
source "arch/h8300/Kconfig.cpu"
-
-menu "Kernel Features"
-
-source "kernel/Kconfig.preempt"
-
-endmenu
diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig
index fcdb6d9fcecc..89a4b22f34d9 100644
--- a/arch/hexagon/Kconfig
+++ b/arch/hexagon/Kconfig
@@ -4,6 +4,7 @@ comment "Linux Kernel Configuration for Hexagon"
config HEXAGON
def_bool y
+ select ARCH_NO_PREEMPT
select HAVE_OPROFILE
# Other pending projects/to-do items.
# select HAVE_REGS_AND_STACK_ACCESS_API
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 34a8d24cffea..86bd377bc7c0 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -364,8 +364,6 @@ config FORCE_CPEI_RETARGET
This option it useful to enable this feature on older BIOS's as well.
You can also enable this by using boot command line option force_cpei=1.
-source "kernel/Kconfig.preempt"
-
config ARCH_SELECT_MEMORY_MODEL
def_bool y
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index cf41ad45513f..3e47f8df6504 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
@@ -4,6 +4,7 @@ config M68K
default y
select ARCH_MIGHT_HAVE_PC_PARPORT if ISA
select ARCH_NO_COHERENT_DMA_MMAP if !MMU
+ select ARCH_NO_PREEMPT if !COLDFIRE
select HAVE_IDE
select HAVE_AOUT if MMU
select HAVE_DEBUG_BUGVERBOSE
@@ -129,10 +130,6 @@ endmenu
menu "Kernel Features"
-if COLDFIRE
-source "kernel/Kconfig.preempt"
-endif
-
endmenu
if !MMU
diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
index ee7bb1002e27..3e7258a21b47 100644
--- a/arch/microblaze/Kconfig
+++ b/arch/microblaze/Kconfig
@@ -89,8 +89,6 @@ source "arch/microblaze/Kconfig.platform"
menu "Processor type and features"
-source "kernel/Kconfig.preempt"
-
source "kernel/Kconfig.hz"
config MMU
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index ab02824c3976..06a633eb9777 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -2818,8 +2818,6 @@ config HZ
config SCHED_HRTICK
def_bool HIGH_RES_TIMERS
-source "kernel/Kconfig.preempt"
-
config KEXEC
bool "Kexec system call"
select KEXEC_CORE
diff --git a/arch/nds32/Kconfig b/arch/nds32/Kconfig
index c03d0e5a591b..541f16adfb06 100644
--- a/arch/nds32/Kconfig
+++ b/arch/nds32/Kconfig
@@ -88,6 +88,5 @@ config NDS32_BUILTIN_DTB
endmenu
menu "Kernel Features"
-source "kernel/Kconfig.preempt"
source "kernel/Kconfig.hz"
endmenu
diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig
index 2c52ca71f4df..c5c2d99064c4 100644
--- a/arch/nios2/Kconfig
+++ b/arch/nios2/Kconfig
@@ -49,8 +49,6 @@ config TRACE_IRQFLAGS_SUPPORT
menu "Kernel features"
-source "kernel/Kconfig.preempt"
-
source "kernel/Kconfig.hz"
config FORCE_MAX_ZONEORDER
diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
index c52cecd94d62..42e3a0f2afab 100644
--- a/arch/openrisc/Kconfig
+++ b/arch/openrisc/Kconfig
@@ -143,7 +143,6 @@ config SMP
If you don't know what to do here, say N.
source kernel/Kconfig.hz
-source kernel/Kconfig.preempt
config OPENRISC_NO_SPR_SR_DSX
bool "use SPR_SR_DSX software emulation" if OR1K_1200
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
index d1dd56ea297b..89496aa318da 100644
--- a/arch/parisc/Kconfig
+++ b/arch/parisc/Kconfig
@@ -323,7 +323,6 @@ config NODES_SHIFT
default "3"
depends on NEED_MULTIPLE_NODES
-source "kernel/Kconfig.preempt"
source "kernel/Kconfig.hz"
config COMPAT
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index c55e61302d57..1c10ff0406f2 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -393,7 +393,6 @@ config HIGHMEM
depends on PPC32
source kernel/Kconfig.hz
-source kernel/Kconfig.preempt
config HUGETLB_PAGE_SIZE_VARIABLE
bool
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 19208cef5bde..6f29f46c6327 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -211,8 +211,6 @@ endmenu
menu "Kernel type"
-source "kernel/Kconfig.preempt"
-
source "kernel/Kconfig.hz"
endmenu
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 6676f1868e61..04fc0fde5f77 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -510,8 +510,6 @@ config SCHED_TOPOLOGY
making when dealing with machines that have multi-threading,
multiple cores or multiple books.
-source kernel/Kconfig.preempt
-
source kernel/Kconfig.hz
config KEXEC
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index b665c54fdda6..9f49e5c3278e 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -707,8 +707,6 @@ config HOTPLUG_CPU
Say Y here to experiment with turning CPUs off and on. CPUs
can be controlled through /sys/devices/system/cpu.
-source "kernel/Kconfig.preempt"
-
config GUSA
def_bool y
depends on !SMP && SUPERH32
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 622695e8fa44..2d58c26bff9a 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -349,8 +349,6 @@ config SCHED_MC
making when dealing with multi-core CPU chips at a cost of slightly
increased overhead in some places. If unsure say N here.
-source "kernel/Kconfig.preempt"
-
config CMDLINE_BOOL
bool "Default bootloader kernel arguments"
depends on SPARC64
diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig
index 6bfaa4a910e1..60eae744d8fd 100644
--- a/arch/unicore32/Kconfig
+++ b/arch/unicore32/Kconfig
@@ -135,8 +135,6 @@ endmenu
menu "Kernel Features"
-source "kernel/Kconfig.preempt"
-
source "kernel/Kconfig.hz"
config LEDS
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 41d28b430fef..98fd04cfa995 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1039,8 +1039,6 @@ config SCHED_MC_PRIO
If unsure say Y here.
-source "kernel/Kconfig.preempt"
-
config UP_LATE_INIT
def_bool y
depends on !SMP && X86_LOCAL_APIC
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
index aae0e1800be7..801491e98890 100644
--- a/arch/xtensa/Kconfig
+++ b/arch/xtensa/Kconfig
@@ -173,8 +173,6 @@ config XTENSA_UNALIGNED_USER
Say Y here to enable unaligned memory access in user space.
-source "kernel/Kconfig.preempt"
-
config HAVE_SMP
bool "System Supports SMP (MX)"
depends on XTENSA_VARIANT_CUSTOM
diff --git a/kernel/Kconfig.preempt b/kernel/Kconfig.preempt
index 3f9c97419f02..0fee5fe6c899 100644
--- a/kernel/Kconfig.preempt
+++ b/kernel/Kconfig.preempt
@@ -18,6 +18,7 @@ config PREEMPT_NONE
config PREEMPT_VOLUNTARY
bool "Voluntary Kernel Preemption (Desktop)"
+ depends on !ARCH_NO_PREEMPT
help
This option reduces the latency of the kernel by adding more
"explicit preemption points" to the kernel code. These new
@@ -35,6 +36,7 @@ config PREEMPT_VOLUNTARY
config PREEMPT
bool "Preemptible Kernel (Low-Latency Desktop)"
+ depends on !ARCH_NO_PREEMPT
select PREEMPT_COUNT
select UNINLINE_SPIN_UNLOCK if !ARCH_INLINE_SPIN_UNLOCK
help
@@ -55,4 +57,4 @@ config PREEMPT
endchoice
config PREEMPT_COUNT
- bool
\ No newline at end of file
+ bool
--
2.18.0
next prev parent reply other threads:[~2018-07-02 14:47 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-02 14:47 include architecture Kconfig files from top-level Kconfig Christoph Hellwig
2018-07-02 14:47 ` [PATCH 1/5] kconfig: include common " Christoph Hellwig
2018-07-02 20:03 ` Randy Dunlap
2018-07-02 20:08 ` Randy Dunlap
2018-07-03 13:36 ` Christoph Hellwig
2018-07-03 16:11 ` Randy Dunlap
2018-07-05 5:38 ` Masahiro Yamada
2018-07-03 13:35 ` Christoph Hellwig
2018-07-02 20:41 ` Randy Dunlap
2018-07-02 20:50 ` Randy Dunlap
2018-07-05 6:04 ` Masahiro Yamada
2018-07-02 14:47 ` [PATCH 2/5] Kconfig: consolidate the "Kernel hacking menu" Christoph Hellwig
2018-07-02 20:28 ` Randy Dunlap
2018-07-05 5:40 ` Masahiro Yamada
2018-07-02 14:47 ` Christoph Hellwig [this message]
2018-07-02 22:02 ` [PATCH] Kconfig: menus: add PREEMPT options back Randy Dunlap
2018-07-02 14:47 ` [PATCH 4/5] kconfig: add a Memory Management options" menu Christoph Hellwig
2018-07-02 20:57 ` Randy Dunlap
2018-07-02 14:47 ` [PATCH 5/5] kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt Christoph Hellwig
2018-07-02 20:58 ` Randy Dunlap
2018-07-02 21:17 ` [PATCH] arch/Kconfig: use a menu to reduce clutter Randy Dunlap
2018-07-03 13:39 ` Christoph Hellwig
2018-07-03 13:40 ` Christoph Hellwig
2018-07-05 5:47 ` include architecture Kconfig files from top-level Kconfig Masahiro Yamada
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180702144711.22111-4-hch@lst.de \
--to=hch@lst.de \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rdunlap@infradead.org \
--cc=yamada.masahiro@socionext.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.