All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.ibm.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Linus Torvalds <torvalds@linuxfoundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linuxfoundation.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Ingo Molnar <mingo@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Sebastian Siewior <bigeasy@linutronix.de>,
	Christoph Hellwig <hch@lst.de>, Tejun Heo <tj@kernel.org>,
	Lukas Bulwahn <lukas.bulwahn@gmail.com>,
	Daniel Wagner <wagi@monom.org>,
	Tom Zanussi <tom.zanussi@linux.intel.com>,
	Daniel Bristot de Oliveira <bristot@redhat.com>,
	Clark Williams <clark.williams@gmail.com>,
	Julia Cartwright <julia@ni.com>,
	Marc Zyngier <marc.zyngier@arm.com>,
	Frederic Weisbecker <frederic@kernel.org>
Subject: Re: [patch 1/1] Kconfig: Introduce CONFIG_PREEMPT_RT
Date: Tue, 16 Jul 2019 11:20:51 -0700	[thread overview]
Message-ID: <20190716182051.GC14271@linux.ibm.com> (raw)
In-Reply-To: <20190715150601.205143057@linutronix.de>

On Mon, Jul 15, 2019 at 05:04:03PM +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 <tglx@linutronix.de>

This would make it easier to get some of the remaining RCU patches
from -rt to mainline, for example, the rcutorture changes proposed
recently.

Acked-by: Paul E. McKenney <paulmck@linux.ibm.com>

> ---
>  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-preemtible sections. This makes the kernel, except for very
> +	  low level and critical code pathes (entry code, scheduler, low
> +	  level interrupt handling) fully preemtible 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
> 
> 


  parent reply	other threads:[~2019-07-16 18:21 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-15 15:04 [patch 0/1] Kconfig: Introduce CONFIG_PREEMPT_RT Thomas Gleixner
2019-07-15 15:04 ` [patch 1/1] " Thomas Gleixner
2019-07-15 19:47   ` Lukas Bulwahn
2019-07-16 18:20   ` Paul E. McKenney [this message]
2019-07-16 20:07   ` Steven Rostedt
2019-07-16 20:10   ` Clark Williams
2019-07-16 20:18     ` Daniel Bristot de Oliveira
2019-07-16 20:59       ` Frederic Weisbecker
2019-07-16 22:58   ` Ingo Molnar
2019-07-16 23:34   ` Gratian Crisan
2019-07-17  7:38   ` Peter Zijlstra
2019-07-17  7:57   ` Marc Zyngier
2019-07-17  8:45   ` Daniel Wagner
2019-07-17 20:01   ` [patch V2 " Thomas Gleixner
2019-07-18 14:19     ` [tip:sched/urgent] sched/rt, " tip-bot for Thomas Gleixner
2019-07-18 14:50     ` [patch V2 1/1] " Julia Cartwright
2019-07-18 17:52     ` [tip:sched/urgent] sched/rt, " tip-bot for Thomas Gleixner
2019-07-18 19:23     ` [patch V2 1/1] " Tom Zanussi
2019-07-18 21:16     ` [tip:sched/urgent] sched/rt, " tip-bot for Thomas Gleixner
2019-07-17 23:05   ` [patch 1/1] " Luis Claudio R. Goncalves

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190716182051.GC14271@linux.ibm.com \
    --to=paulmck@linux.ibm.com \
    --cc=akpm@linuxfoundation.org \
    --cc=bigeasy@linutronix.de \
    --cc=bristot@redhat.com \
    --cc=clark.williams@gmail.com \
    --cc=frederic@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hch@lst.de \
    --cc=julia@ni.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lukas.bulwahn@gmail.com \
    --cc=marc.zyngier@arm.com \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=tj@kernel.org \
    --cc=tom.zanussi@linux.intel.com \
    --cc=torvalds@linuxfoundation.org \
    --cc=wagi@monom.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.