All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] sched: Tweak default dynamic preempt mode selection
@ 2021-11-05 10:40 Valentin Schneider
  2021-11-06  4:40 ` Mike Galbraith
                   ` (4 more replies)
  0 siblings, 5 replies; 21+ messages in thread
From: Valentin Schneider @ 2021-11-05 10:40 UTC (permalink / raw)
  To: linux-kernel; +Cc: Peter Zijlstra, Ingo Molnar, Frederic Weisbecker

Commit c597bfddc9e9 ("sched: Provide Kconfig support for default dynamic
preempt mode") changed the selectable config names for the preemption
model. This means a config file must now select

  CONFIG_PREEMPT_BEHAVIOUR=y

rather than

  CONFIG_PREEMPT=y

to get a preemptible kernel. This means all arch config files need to be
updated - right now arm64 defconfig selects CONFIG_PREEMPT=y but ends up
with CONFIG_PREEMPT_NONE_BEHAVIOUR=y.

Instead, have CONFIG_*PREEMPT be the selectable configs again, and make
them select their _BEHAVIOUR equivalent if CONFIG_PREEMPT_DYNAMIC is set.

Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
---
 kernel/Kconfig.preempt | 36 ++++++++++++++++++------------------
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/kernel/Kconfig.preempt b/kernel/Kconfig.preempt
index 60f1bfc3c7b2..25e8d6a3d9fa 100644
--- a/kernel/Kconfig.preempt
+++ b/kernel/Kconfig.preempt
@@ -1,12 +1,21 @@
 # SPDX-License-Identifier: GPL-2.0-only
 
+config PREEMPT_NONE_BEHAVIOUR
+	bool
+
+config PREEMPT_VOLUNTARY_BEHAVIOUR
+	bool
+
+config PREEMPT_BEHAVIOUR
+	bool
+
 choice
 	prompt "Preemption Model"
-	default PREEMPT_NONE_BEHAVIOUR
+	default PREEMPT_NONE
 
-config PREEMPT_NONE_BEHAVIOUR
+config PREEMPT_NONE
 	bool "No Forced Preemption (Server)"
-	select PREEMPT_NONE if !PREEMPT_DYNAMIC
+	select PREEMPT_NONE_BEHAVIOUR if PREEMPT_DYNAMIC
 	help
 	  This is the traditional Linux preemption model, geared towards
 	  throughput. It will still provide good latencies most of the
@@ -18,10 +27,10 @@ config PREEMPT_NONE_BEHAVIOUR
 	  raw processing power of the kernel, irrespective of scheduling
 	  latencies.
 
-config PREEMPT_VOLUNTARY_BEHAVIOUR
+config PREEMPT_VOLUNTARY
 	bool "Voluntary Kernel Preemption (Desktop)"
 	depends on !ARCH_NO_PREEMPT
-	select PREEMPT_VOLUNTARY if !PREEMPT_DYNAMIC
+	select PREEMPT_VOLUNTARY_BEHAVIOUR if PREEMPT_DYNAMIC
 	help
 	  This option reduces the latency of the kernel by adding more
 	  "explicit preemption points" to the kernel code. These new
@@ -37,10 +46,12 @@ config PREEMPT_VOLUNTARY_BEHAVIOUR
 
 	  Select this if you are building a kernel for a desktop system.
 
-config PREEMPT_BEHAVIOUR
+config PREEMPT
 	bool "Preemptible Kernel (Low-Latency Desktop)"
 	depends on !ARCH_NO_PREEMPT
-	select PREEMPT
+	select PREEMPTION
+	select UNINLINE_SPIN_UNLOCK if !ARCH_INLINE_SPIN_UNLOCK
+	select PREEMPT_BEHAVIOUR if PREEMPT_DYNAMIC
 	help
 	  This option reduces the latency of the kernel by making
 	  all kernel code (that is not executing in a critical section)
@@ -75,17 +86,6 @@ config PREEMPT_RT
 
 endchoice
 
-config PREEMPT_NONE
-	bool
-
-config PREEMPT_VOLUNTARY
-	bool
-
-config PREEMPT
-	bool
-	select PREEMPTION
-	select UNINLINE_SPIN_UNLOCK if !ARCH_INLINE_SPIN_UNLOCK
-
 config PREEMPT_COUNT
        bool
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2021-11-10  5:44 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-05 10:40 [PATCH] sched: Tweak default dynamic preempt mode selection Valentin Schneider
2021-11-06  4:40 ` Mike Galbraith
2021-11-08 11:17   ` Valentin Schneider
2021-11-08 12:27     ` Mike Galbraith
2021-11-08 15:21       ` Valentin Schneider
2021-11-09  5:30         ` Mike Galbraith
2021-11-09  9:52           ` Valentin Schneider
2021-11-09 11:00             ` Mike Galbraith
2021-11-09 12:19               ` Valentin Schneider
2021-11-09 13:31                 ` Mike Galbraith
2021-11-06  5:05 ` kernel test robot
2021-11-06  5:05   ` kernel test robot
2021-11-08 12:00   ` Valentin Schneider
2021-11-08 12:00     ` Valentin Schneider
2021-11-06  5:33 ` kernel test robot
2021-11-06  5:33   ` kernel test robot
2021-11-06  7:58 ` kernel test robot
2021-11-06  7:58   ` kernel test robot
2021-11-09 10:25 ` Frederic Weisbecker
2021-11-10  0:03   ` Valentin Schneider
2021-11-10  5:44     ` Mike Galbraith

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.