On Wed, Feb 10, 2021 at 03:18:38PM +0100, Frederic Weisbecker wrote:
> Also should we add something like this?

I suppose we can do that, but I'd rather have actual numbers to go with
it, I don't think the trampolines are really that terrible.

> From: Frederic Weisbecker <frede...@kernel.org>
> Date: Wed, 10 Feb 2021 15:11:39 +0100
> Subject: [PATCH] preempt/dynamic: Make PREEMPT_DYNAMIC optional
> 
> In order not to make the small trampoline overhead mandatory for archs
> that support HAVE_STATIC_CALL but not HAVE_STATIC_CALL_INLINE, make
> PREEMPT_DYNAMIC optional.
> 
> Signed-off-by: Frederic Weisbecker <frede...@kernel.org>
> ---
>  kernel/Kconfig.preempt | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/kernel/Kconfig.preempt b/kernel/Kconfig.preempt
> index 416017301660..1fe759677907 100644
> --- a/kernel/Kconfig.preempt
> +++ b/kernel/Kconfig.preempt
> @@ -40,7 +40,6 @@ config PREEMPT
>       depends on !ARCH_NO_PREEMPT
>       select PREEMPTION
>       select UNINLINE_SPIN_UNLOCK if !ARCH_INLINE_SPIN_UNLOCK
> -     select PREEMPT_DYNAMIC 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)
> @@ -83,11 +82,13 @@ config PREEMPTION
>         select PREEMPT_COUNT
>  
>  config PREEMPT_DYNAMIC
> -     bool
> +     bool "Override preemption flavour at boot time"
> +     depends on HAVE_PREEMPT_DYNAMIC && PREEMPT
> +     default HAVE_STATIC_CALL_INLINE
>       help
>         This option allows to define the preemption model on the kernel
> -       command line parameter and thus override the default preemption
> -       model defined during compile time.
> +       command line parameter "preempt=" and thus override the default
> +       preemption model defined during compile time.
>  
>         The feature is primarily interesting for Linux distributions which
>         provide a pre-built kernel binary to reduce the number of kernel
> @@ -99,3 +100,5 @@ config PREEMPT_DYNAMIC
>  
>         Interesting if you want the same pre-built kernel should be used for
>         both Server and Desktop workloads.
> +
> +       Say Y if you have CONFIG_HAVE_STATIC_CALL_INLINE.
> -- 
> 2.25.1
> 

Reply via email to