All of lore.kernel.org
 help / color / mirror / Atom feed
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


  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.