Hi,

On Wed, 2019-07-17 at 22:01 +0200, Thomas Gleixner wrote:
> Add a new entry to the preemption menu which enables the real-time
> support
> for the kernel. The choice is only enabled when an architecture
> supports
> it.
> 
> It selects PREEMPT as the RT features depend on it. To achieve that
> the
> existing PREEMPT choice is renamed to PREEMPT_LL which select PREEMPT
> as
> well.
> 
> No functional change.
> 
> Signed-off-by: Thomas Gleixner <t...@linutronix.de>
> Acked-by: Paul E. McKenney <paul...@linux.ibm.com>
> Acked-by: Steven Rostedt (VMware) <rost...@goodmis.org>
> Acked-by: Clark Williams <willi...@redhat.com>
> Acked-by: Daniel Bristot de Oliveira <bris...@redhat.com>
> Acked-by: Frederic Weisbecker <frede...@kernel.org>
> Acked-by: Ingo Molnar <mi...@kernel.org>
> Acked-by: Peter Zijlstra (Intel) <pet...@infradead.org>
> Acked-by: Marc Zyngier <marc.zyng...@arm.com>
> Acked-by: Daniel Wagner <w...@monom.org>
> ---

As one of the stable-rt maintainers, I'd obviously be very happy to see
this finally go in.  :-)

And will be happy to do what I can to help with the remaining 311...

Acked-by: Tom Zanussi <tom.zanu...@linux.intel.com>


> V2: Fix typos in help text, collect acks
> ---
>  arch/Kconfig           |    3 +++
>  kernel/Kconfig.preempt |   25 +++++++++++++++++++++++--
>  2 files changed, 26 insertions(+), 2 deletions(-)
> 
> --- a/arch/Kconfig
> +++ b/arch/Kconfig
> @@ -809,6 +809,9 @@ config ARCH_NO_COHERENT_DMA_MMAP
>  config ARCH_NO_PREEMPT
>       bool
>  
> +config ARCH_SUPPORTS_RT
> +     bool
> +
>  config CPU_NO_EFFICIENT_FFS
>       def_bool n
>  
> --- a/kernel/Kconfig.preempt
> +++ b/kernel/Kconfig.preempt
> @@ -35,10 +35,10 @@ config PREEMPT_VOLUNTARY
>  
>         Select this if you are building a kernel for a desktop
> system.
>  
> -config PREEMPT
> +config PREEMPT_LL
>       bool "Preemptible Kernel (Low-Latency Desktop)"
>       depends on !ARCH_NO_PREEMPT
> -     select PREEMPT_COUNT
> +     select PREEMPT
>       select UNINLINE_SPIN_UNLOCK if !ARCH_INLINE_SPIN_UNLOCK
>       help
>         This option reduces the latency of the kernel by making
> @@ -55,7 +55,28 @@ config PREEMPT
>         embedded system with latency requirements in the
> milliseconds
>         range.
>  
> +config PREEMPT_RT
> +     bool "Fully Preemptible Kernel (Real-Time)"
> +     depends on EXPERT && ARCH_SUPPORTS_RT
> +     select PREEMPT
> +     help
> +       This option turns the kernel into a real-time kernel by
> replacing
> +       various locking primitives (spinlocks, rwlocks, etc.) with
> +       preemptible priority-inheritance aware variants, enforcing
> +       interrupt threading and introducing mechanisms to break up
> long
> +       non-preemptible sections. This makes the kernel, except
> for very
> +       low level and critical code pathes (entry code, scheduler,
> low
> +       level interrupt handling) fully preemptible and brings
> most
> +       execution contexts under scheduler control.
> +
> +       Select this if you are building a kernel for systems which
> +       require real-time guarantees.
> +
>  endchoice
>  
>  config PREEMPT_COUNT
>         bool
> +
> +config PREEMPT
> +       bool
> +       select PREEMPT_COUNT

Reply via email to