From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Julia Cartwright <julia@ni.com>
Cc: Luiz Capitulino <lcapitulino@redhat.com>,
linux-rt-users@vger.kernel.org, bigeasy@linutronix.de,
mst@redhat.com
Subject: Re: Making rcu_normal=1 in RT
Date: Wed, 12 Oct 2016 09:39:30 -0700 [thread overview]
Message-ID: <20161012163930.GH29518@linux.vnet.ibm.com> (raw)
In-Reply-To: <20161012162114.GA9362@jcartwri.amer.corp.natinst.com>
On Wed, Oct 12, 2016 at 11:21:14AM -0500, Julia Cartwright wrote:
> On Wed, Oct 12, 2016 at 11:12:51AM -0400, Luiz Capitulino wrote:
> > Hi,
> >
> > We have the following patch applied to the RT tree:
> >
> > commit a9d3cc781a3306bfa332fa7cb6134b70696058d5
> > Author: Josh Cartwright <joshc@ni.com>
> > Date: Tue Oct 27 07:31:53 2015 -0500
> >
> > net: Make synchronize_rcu_expedited() conditional on !RT_FULL
> >
> > However, as noted by Michael, making rcu_normal=1 default in the
> > RT kernel should have the same effect (ie. not calling
> > synchronize_sched_expedited()).
> >
> > So, honest question, is there a reason not to:
> >
> > 1. Drop the patch above
> > 2. Make rcu_normal=1 default?
>
> I think this is probably a cleaner way to fix the problems which
> motivated this patch in the first place. In my defense, the above patch
> predates rcu_normal :).
>
> Something like this, perhaps?
>
> Julia
>
> -- 8< --
> Subject: [PATCH] rcu: enable rcu_normal_after_boot by default for RT
>
> The forcing of an expedited grace period is an expensive and very
> RT-application unfriendly operation, as it forcibly preempts all running
> tasks on CPUs which are preventing the gp from expiring.
>
> By default, as a policy decision, disable the expediting of grace
> periods (after boot) on configurations which enable PREEMPT_RT_FULL.
>
> Suggested-by: Luiz Capitulino <lcapitulino@redhat.com>
> Signed-off-by: Julia Cartwright <julia@ni.com>
Looks like a reasonable approach to me. Objections?
Thanx, Paul
> ---
> kernel/rcu/update.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c
> index b40d346..4975917 100644
> --- a/kernel/rcu/update.c
> +++ b/kernel/rcu/update.c
> @@ -63,7 +63,7 @@ MODULE_ALIAS("rcupdate");
> #ifndef CONFIG_TINY_RCU
> module_param(rcu_expedited, int, 0);
> module_param(rcu_normal, int, 0);
> -static int rcu_normal_after_boot;
> +static int rcu_normal_after_boot = IS_ENABLED(CONFIG_PREEMPT_RT_FULL);
> module_param(rcu_normal_after_boot, int, 0);
> #endif /* #ifndef CONFIG_TINY_RCU */
>
> --
> 2.9.3
>
next prev parent reply other threads:[~2016-10-12 16:39 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-12 15:12 Making rcu_normal=1 in RT Luiz Capitulino
2016-10-12 16:21 ` Julia Cartwright
2016-10-12 16:39 ` Paul E. McKenney [this message]
2016-10-12 16:49 ` Luiz Capitulino
2016-10-12 17:15 ` Julia Cartwright
2016-10-12 20:32 ` Paul E. McKenney
2016-10-13 16:25 ` Michael S. Tsirkin
2016-10-14 9:20 ` Paul E. McKenney
2016-10-16 1:45 ` Michael S. Tsirkin
2016-10-16 11:28 ` Paul E. McKenney
2016-10-31 17:38 ` Sebastian Andrzej Siewior
2016-10-31 18:15 ` Paul E. McKenney
2016-10-31 22:37 ` Michael S. Tsirkin
2016-11-01 2:19 ` Paul E. McKenney
2016-11-01 2:36 ` Michael S. Tsirkin
2016-11-01 2:52 ` Paul E. McKenney
2016-11-01 3:31 ` Michael S. Tsirkin
2016-11-02 16:05 ` Sebastian Andrzej Siewior
2016-11-03 16:26 ` Paul E. McKenney
2016-11-02 16:30 ` [PATCH] rcu: update: make RCU_EXPEDITE_BOOT default Sebastian Andrzej Siewior
2016-11-03 16:22 ` Paul E. McKenney
2016-11-03 16:33 ` Sebastian Andrzej Siewior
2016-11-03 16:59 ` Paul E. McKenney
2016-11-07 17:19 ` Steven Rostedt
2016-11-07 17:30 ` Sebastian Andrzej Siewior
2016-11-07 17:35 ` Josh Triplett
2016-11-07 18:05 ` Paul E. McKenney
2016-11-07 18:08 ` Josh Triplett
2016-11-07 19:04 ` Paul E. McKenney
2016-11-09 6:26 ` [rcu] c6908ba082: INFO: rcu_sched detected expedited stalls on CPUs/tasks: { 0-... } 26689 jiffies s: 9 root: 0x1/ kernel test robot
2016-11-02 16:51 ` Making rcu_normal=1 in RT Sebastian Andrzej Siewior
2016-11-02 17:41 ` Luiz Capitulino
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=20161012163930.GH29518@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=bigeasy@linutronix.de \
--cc=julia@ni.com \
--cc=lcapitulino@redhat.com \
--cc=linux-rt-users@vger.kernel.org \
--cc=mst@redhat.com \
/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.