lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 9 Jun 2021 13:27:50 +0200 From: Frederic Weisbecker <frederic@...nel.org> To: Peter Zijlstra <peterz@...radead.org> Cc: Ingo Molnar <mingo@...nel.org>, LKML <linux-kernel@...r.kernel.org> Subject: Re: [PATCH 1/2] sched: Add default dynamic preempt mode Kconfig On Tue, Jun 08, 2021 at 04:04:47PM +0200, Peter Zijlstra wrote: > On Tue, Jun 08, 2021 at 03:55:09PM +0200, Peter Zijlstra wrote: > > Urgh, would something like this work? > > > > --- > > kernel/Kconfig.preempt | 64 ++++++++++++++++++++++++++++++++++++++++---------- > > 1 file changed, 51 insertions(+), 13 deletions(-) > > > > diff --git a/kernel/Kconfig.preempt b/kernel/Kconfig.preempt > > index bd7c4147b9a8..43c68a806e4e 100644 > > --- a/kernel/Kconfig.preempt > > +++ b/kernel/Kconfig.preempt > > @@ -1,11 +1,25 @@ > > # SPDX-License-Identifier: GPL-2.0-only > > > > +config PREEMPT_COUNT > > + bool > > + > > +config PREEMPTION > > + bool > > + select PREEMPT_COUNT > > + > > +config PREEMPT_DYNAMIC_OPTION > > + bool > > + help > > + Symbol that gates availablility of PREEMPT_DYNAMIC, selected > > + by preemption models that can be dynamically selected. > > + > > choice > > prompt "Preemption Model" > > + default PREEMPT_TYPE_NONE > > > > +config PREEMPT_TYPE_NONE > > bool "No Forced Preemption (Server)" > > + select PREEMPT_DYNAMIC_OPTION if HAVE_PREEMPT_DYNAMIC > > help > > This is the traditional Linux preemption model, geared towards > > throughput. It will still provide good latencies most of the > > @@ -17,9 +31,10 @@ config PREEMPT_NONE > > raw processing power of the kernel, irrespective of scheduling > > latencies. > > > > +config PREEMPT_TYPE_VOLUNTARY > > bool "Voluntary Kernel Preemption (Desktop)" > > depends on !ARCH_NO_PREEMPT > > + select PREEMPT_DYNAMIC_OPTION if HAVE_PREEMPT_DYNAMIC > > help > > This option reduces the latency of the kernel by adding more > > "explicit preemption points" to the kernel code. These new > > @@ -35,12 +50,10 @@ config PREEMPT_VOLUNTARY > > > > Select this if you are building a kernel for a desktop system. > > > > -config PREEMPT > > +config PREEMPT_TYPE_FULL > > bool "Preemptible Kernel (Low-Latency Desktop)" > > depends on !ARCH_NO_PREEMPT > > + select PREEMPT_DYNAMIC_OPTION if HAVE_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,15 +88,24 @@ config PREEMPT_RT > > > > endchoice > > > > +# default model for PREEMPT_DYNAMIC > > > > +config PREEMPT_DYNAMIC_NONE > > + bool > > > > +config PREEMPT_DYNAMIC_VOLUNTARY > > + bool > > + > > +config PREEMPT_DYNAMIC_FULL > > bool > > + > > +config PREEMPT_DYNAMIC > > + bool "Dynamic Preemption Mode" > > + depends on PREEMPT_DYNAMIC_OPTION > > + select PREEMPT > > + select PREEMPT_DYNAMIC_NONE if PREEMPT_TYPE_NONE > > + select PREEMPT_DYNAMIC_VOLUNTARY if PREEMPT_TYPE_VOLUNTARY > > + select PREEMPT_DYNAMIC_FULL if PREEMPT_TYPE_FULL > > Arguably PREEMPT_DYNAMIC_{NONE,VOLUNTARY,FULL} are superfluous and the > default selection can use PREEMPT_TYPE_*. Right, I'll try that. Thanks.
Powered by blists - more mailing lists