Commit 87a4c375 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Masahiro Yamada

kconfig: include kernel/Kconfig.preempt from init/Kconfig

Almost all architectures include it.  Add a ARCH_NO_PREEMPT symbol to
disable preempt support for alpha, hexagon, non-coldfire m68k and
user mode Linux.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent 06ec64b8
...@@ -881,6 +881,9 @@ config COMPAT_32BIT_TIME ...@@ -881,6 +881,9 @@ config COMPAT_32BIT_TIME
config ARCH_NO_COHERENT_DMA_MMAP config ARCH_NO_COHERENT_DMA_MMAP
bool bool
config ARCH_NO_PREEMPT
bool
config CPU_NO_EFFICIENT_FFS config CPU_NO_EFFICIENT_FFS
def_bool n def_bool n
......
...@@ -4,6 +4,7 @@ config ALPHA ...@@ -4,6 +4,7 @@ config ALPHA
default y default y
select ARCH_MIGHT_HAVE_PC_PARPORT select ARCH_MIGHT_HAVE_PC_PARPORT
select ARCH_MIGHT_HAVE_PC_SERIO select ARCH_MIGHT_HAVE_PC_SERIO
select ARCH_NO_PREEMPT
select ARCH_USE_CMPXCHG_LOCKREF select ARCH_USE_CMPXCHG_LOCKREF
select HAVE_AOUT select HAVE_AOUT
select HAVE_IDE select HAVE_IDE
......
...@@ -545,8 +545,6 @@ config ARC_BUILTIN_DTB_NAME ...@@ -545,8 +545,6 @@ config ARC_BUILTIN_DTB_NAME
Set the name of the DTB to embed in the vmlinux binary Set the name of the DTB to embed in the vmlinux binary
Leaving it blank selects the minimal "skeleton" dtb Leaving it blank selects the minimal "skeleton" dtb
source "kernel/Kconfig.preempt"
endmenu # "ARC Architecture Configuration" endmenu # "ARC Architecture Configuration"
config FORCE_MAX_ZONEORDER config FORCE_MAX_ZONEORDER
......
...@@ -1481,8 +1481,6 @@ config ARCH_NR_GPIO ...@@ -1481,8 +1481,6 @@ config ARCH_NR_GPIO
If unsure, leave the default value. If unsure, leave the default value.
source kernel/Kconfig.preempt
config HZ_FIXED config HZ_FIXED
int int
default 200 if ARCH_EBSA110 default 200 if ARCH_EBSA110
......
...@@ -752,7 +752,6 @@ config HOLES_IN_ZONE ...@@ -752,7 +752,6 @@ config HOLES_IN_ZONE
def_bool y def_bool y
depends on NUMA depends on NUMA
source kernel/Kconfig.preempt
source kernel/Kconfig.hz source kernel/Kconfig.hz
config ARCH_SUPPORTS_DEBUG_PAGEALLOC config ARCH_SUPPORTS_DEBUG_PAGEALLOC
......
...@@ -110,8 +110,6 @@ config KERNEL_RAM_BASE_ADDRESS ...@@ -110,8 +110,6 @@ config KERNEL_RAM_BASE_ADDRESS
default 0xe0000000 if SOC_TMS320C6472 default 0xe0000000 if SOC_TMS320C6472
default 0x80000000 default 0x80000000
source "kernel/Kconfig.preempt"
source "kernel/Kconfig.hz" source "kernel/Kconfig.hz"
endmenu endmenu
...@@ -49,9 +49,3 @@ config NR_CPUS ...@@ -49,9 +49,3 @@ config NR_CPUS
default 1 default 1
source "arch/h8300/Kconfig.cpu" source "arch/h8300/Kconfig.cpu"
menu "Kernel Features"
source "kernel/Kconfig.preempt"
endmenu
...@@ -4,6 +4,7 @@ comment "Linux Kernel Configuration for Hexagon" ...@@ -4,6 +4,7 @@ comment "Linux Kernel Configuration for Hexagon"
config HEXAGON config HEXAGON
def_bool y def_bool y
select ARCH_NO_PREEMPT
select HAVE_OPROFILE select HAVE_OPROFILE
# Other pending projects/to-do items. # Other pending projects/to-do items.
# select HAVE_REGS_AND_STACK_ACCESS_API # select HAVE_REGS_AND_STACK_ACCESS_API
......
...@@ -364,8 +364,6 @@ config FORCE_CPEI_RETARGET ...@@ -364,8 +364,6 @@ config FORCE_CPEI_RETARGET
This option it useful to enable this feature on older BIOS's as well. 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. You can also enable this by using boot command line option force_cpei=1.
source "kernel/Kconfig.preempt"
config ARCH_SELECT_MEMORY_MODEL config ARCH_SELECT_MEMORY_MODEL
def_bool y def_bool y
......
...@@ -4,6 +4,7 @@ config M68K ...@@ -4,6 +4,7 @@ config M68K
default y default y
select ARCH_MIGHT_HAVE_PC_PARPORT if ISA select ARCH_MIGHT_HAVE_PC_PARPORT if ISA
select ARCH_NO_COHERENT_DMA_MMAP if !MMU select ARCH_NO_COHERENT_DMA_MMAP if !MMU
select ARCH_NO_PREEMPT if !COLDFIRE
select HAVE_IDE select HAVE_IDE
select HAVE_AOUT if MMU select HAVE_AOUT if MMU
select HAVE_DEBUG_BUGVERBOSE select HAVE_DEBUG_BUGVERBOSE
...@@ -129,10 +130,6 @@ endmenu ...@@ -129,10 +130,6 @@ endmenu
menu "Kernel Features" menu "Kernel Features"
if COLDFIRE
source "kernel/Kconfig.preempt"
endif
endmenu endmenu
if !MMU if !MMU
......
...@@ -87,8 +87,6 @@ source "arch/microblaze/Kconfig.platform" ...@@ -87,8 +87,6 @@ source "arch/microblaze/Kconfig.platform"
menu "Processor type and features" menu "Processor type and features"
source "kernel/Kconfig.preempt"
source "kernel/Kconfig.hz" source "kernel/Kconfig.hz"
config MMU config MMU
......
...@@ -2818,8 +2818,6 @@ config HZ ...@@ -2818,8 +2818,6 @@ config HZ
config SCHED_HRTICK config SCHED_HRTICK
def_bool HIGH_RES_TIMERS def_bool HIGH_RES_TIMERS
source "kernel/Kconfig.preempt"
config KEXEC config KEXEC
bool "Kexec system call" bool "Kexec system call"
select KEXEC_CORE select KEXEC_CORE
......
...@@ -88,6 +88,5 @@ config NDS32_BUILTIN_DTB ...@@ -88,6 +88,5 @@ config NDS32_BUILTIN_DTB
endmenu endmenu
menu "Kernel Features" menu "Kernel Features"
source "kernel/Kconfig.preempt"
source "kernel/Kconfig.hz" source "kernel/Kconfig.hz"
endmenu endmenu
...@@ -47,8 +47,6 @@ config TRACE_IRQFLAGS_SUPPORT ...@@ -47,8 +47,6 @@ config TRACE_IRQFLAGS_SUPPORT
menu "Kernel features" menu "Kernel features"
source "kernel/Kconfig.preempt"
source "kernel/Kconfig.hz" source "kernel/Kconfig.hz"
config FORCE_MAX_ZONEORDER config FORCE_MAX_ZONEORDER
......
...@@ -143,7 +143,6 @@ config SMP ...@@ -143,7 +143,6 @@ config SMP
If you don't know what to do here, say N. If you don't know what to do here, say N.
source kernel/Kconfig.hz source kernel/Kconfig.hz
source kernel/Kconfig.preempt
config OPENRISC_NO_SPR_SR_DSX config OPENRISC_NO_SPR_SR_DSX
bool "use SPR_SR_DSX software emulation" if OR1K_1200 bool "use SPR_SR_DSX software emulation" if OR1K_1200
......
...@@ -323,7 +323,6 @@ config NODES_SHIFT ...@@ -323,7 +323,6 @@ config NODES_SHIFT
default "3" default "3"
depends on NEED_MULTIPLE_NODES depends on NEED_MULTIPLE_NODES
source "kernel/Kconfig.preempt"
source "kernel/Kconfig.hz" source "kernel/Kconfig.hz"
config COMPAT config COMPAT
......
...@@ -393,7 +393,6 @@ config HIGHMEM ...@@ -393,7 +393,6 @@ config HIGHMEM
depends on PPC32 depends on PPC32
source kernel/Kconfig.hz source kernel/Kconfig.hz
source kernel/Kconfig.preempt
config HUGETLB_PAGE_SIZE_VARIABLE config HUGETLB_PAGE_SIZE_VARIABLE
bool bool
......
...@@ -212,8 +212,6 @@ endmenu ...@@ -212,8 +212,6 @@ endmenu
menu "Kernel type" menu "Kernel type"
source "kernel/Kconfig.preempt"
source "kernel/Kconfig.hz" source "kernel/Kconfig.hz"
endmenu endmenu
......
...@@ -511,8 +511,6 @@ config SCHED_TOPOLOGY ...@@ -511,8 +511,6 @@ config SCHED_TOPOLOGY
making when dealing with machines that have multi-threading, making when dealing with machines that have multi-threading,
multiple cores or multiple books. multiple cores or multiple books.
source kernel/Kconfig.preempt
source kernel/Kconfig.hz source kernel/Kconfig.hz
config KEXEC config KEXEC
......
...@@ -709,8 +709,6 @@ config HOTPLUG_CPU ...@@ -709,8 +709,6 @@ config HOTPLUG_CPU
Say Y here to experiment with turning CPUs off and on. CPUs Say Y here to experiment with turning CPUs off and on. CPUs
can be controlled through /sys/devices/system/cpu. can be controlled through /sys/devices/system/cpu.
source "kernel/Kconfig.preempt"
config GUSA config GUSA
def_bool y def_bool y
depends on !SMP && SUPERH32 depends on !SMP && SUPERH32
......
...@@ -349,8 +349,6 @@ config SCHED_MC ...@@ -349,8 +349,6 @@ config SCHED_MC
making when dealing with multi-core CPU chips at a cost of slightly making when dealing with multi-core CPU chips at a cost of slightly
increased overhead in some places. If unsure say N here. increased overhead in some places. If unsure say N here.
source "kernel/Kconfig.preempt"
config CMDLINE_BOOL config CMDLINE_BOOL
bool "Default bootloader kernel arguments" bool "Default bootloader kernel arguments"
depends on SPARC64 depends on SPARC64
......
...@@ -6,6 +6,7 @@ config UML ...@@ -6,6 +6,7 @@ config UML
bool bool
default y default y
select ARCH_HAS_KCOV select ARCH_HAS_KCOV
select ARCH_NO_PREEMPT
select HAVE_ARCH_AUDITSYSCALL select HAVE_ARCH_AUDITSYSCALL
select HAVE_ARCH_SECCOMP_FILTER select HAVE_ARCH_SECCOMP_FILTER
select HAVE_UID16 select HAVE_UID16
......
...@@ -135,8 +135,6 @@ endmenu ...@@ -135,8 +135,6 @@ endmenu
menu "Kernel Features" menu "Kernel Features"
source "kernel/Kconfig.preempt"
source "kernel/Kconfig.hz" source "kernel/Kconfig.hz"
config LEDS config LEDS
......
...@@ -1039,8 +1039,6 @@ config SCHED_MC_PRIO ...@@ -1039,8 +1039,6 @@ config SCHED_MC_PRIO
If unsure say Y here. If unsure say Y here.
source "kernel/Kconfig.preempt"
config UP_LATE_INIT config UP_LATE_INIT
def_bool y def_bool y
depends on !SMP && X86_LOCAL_APIC depends on !SMP && X86_LOCAL_APIC
......
...@@ -173,8 +173,6 @@ config XTENSA_UNALIGNED_USER ...@@ -173,8 +173,6 @@ config XTENSA_UNALIGNED_USER
Say Y here to enable unaligned memory access in user space. Say Y here to enable unaligned memory access in user space.
source "kernel/Kconfig.preempt"
config HAVE_SMP config HAVE_SMP
bool "System Supports SMP (MX)" bool "System Supports SMP (MX)"
depends on XTENSA_VARIANT_CUSTOM depends on XTENSA_VARIANT_CUSTOM
......
...@@ -326,6 +326,7 @@ config AUDIT_TREE ...@@ -326,6 +326,7 @@ config AUDIT_TREE
source "kernel/irq/Kconfig" source "kernel/irq/Kconfig"
source "kernel/time/Kconfig" source "kernel/time/Kconfig"
source "kernel/Kconfig.preempt"
menu "CPU/Task time and stats accounting" menu "CPU/Task time and stats accounting"
......
...@@ -18,6 +18,7 @@ config PREEMPT_NONE ...@@ -18,6 +18,7 @@ config PREEMPT_NONE
config PREEMPT_VOLUNTARY config PREEMPT_VOLUNTARY
bool "Voluntary Kernel Preemption (Desktop)" bool "Voluntary Kernel Preemption (Desktop)"
depends on !ARCH_NO_PREEMPT
help help
This option reduces the latency of the kernel by adding more This option reduces the latency of the kernel by adding more
"explicit preemption points" to the kernel code. These new "explicit preemption points" to the kernel code. These new
...@@ -35,6 +36,7 @@ config PREEMPT_VOLUNTARY ...@@ -35,6 +36,7 @@ config PREEMPT_VOLUNTARY
config PREEMPT config PREEMPT
bool "Preemptible Kernel (Low-Latency Desktop)" bool "Preemptible Kernel (Low-Latency Desktop)"
depends on !ARCH_NO_PREEMPT
select PREEMPT_COUNT select PREEMPT_COUNT
select UNINLINE_SPIN_UNLOCK if !ARCH_INLINE_SPIN_UNLOCK select UNINLINE_SPIN_UNLOCK if !ARCH_INLINE_SPIN_UNLOCK
help help
......
...@@ -1195,6 +1195,7 @@ config DEBUG_ATOMIC_SLEEP ...@@ -1195,6 +1195,7 @@ config DEBUG_ATOMIC_SLEEP
bool "Sleep inside atomic section checking" bool "Sleep inside atomic section checking"
select PREEMPT_COUNT select PREEMPT_COUNT
depends on DEBUG_KERNEL depends on DEBUG_KERNEL
depends on !ARCH_NO_PREEMPT
help help
If you say Y here, various routines which may sleep will become very If you say Y here, various routines which may sleep will become very
noisy if they are called inside atomic sections: when a spinlock is noisy if they are called inside atomic sections: when a spinlock is
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment