All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@kernel.org>
To: Valentin Schneider <valentin.schneider@arm.com>
Cc: linux-kernel@vger.kernel.org, rcu@vger.kernel.org,
	linux-rt-users@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Steven Rostedt <rostedt@goodmis.org>,
	Daniel Bristot de Oliveira <bristot@redhat.com>,
	Frederic Weisbecker <frederic@kernel.org>,
	Josh Triplett <josh@joshtriplett.org>,
	Davidlohr Bueso <dave@stgolabs.net>,
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Joel Fernandes <joel@joelfernandes.org>
Subject: Re: [PATCH 2/2] rcutorture: Nudge ksoftirqd priority for RCU boost testing
Date: Thu, 5 Aug 2021 09:10:49 -0700	[thread overview]
Message-ID: <20210805161049.GK4397@paulmck-ThinkPad-P17-Gen-1> (raw)
In-Reply-To: <87mtpw9kiz.mognet@arm.com>

On Thu, Aug 05, 2021 at 12:51:48PM +0100, Valentin Schneider wrote:
> On 04/08/21 15:53, Paul E. McKenney wrote:
> > On Wed, Aug 04, 2021 at 11:18:11AM +0100, Valentin Schneider wrote:
> >>
> >> Hm so v5.13-rt1 has this commit:
> >>
> >>   5e59fba573e6 ("rcutorture: Fix testing of RCU priority boosting")
> >>
> >> which gates RCU boost torture testing under CONFIG_PREEMPT_RT. Now, AFAICT
> >> the TIMER_SOFTIRQ priority problem is there regardless of
> >> CONFIG_PREEMPT_RT, so this patch would (should?) make sense even on
> >> !CONFIG_PREEMPT_RT.
> >
> > What rcutorture scenario TREE03 does is to boot with tree.use_softirq=0
> > and threadirqs.  I see your point about timers and softirq, but this
> > does run reliably for me.
> >
> > Ah, I see why.  Commit ea6d962e80b6 ("rcutorture: Judge RCU priority
> > boosting on grace periods, not callbacks") includes boosting the priority
> > of the ksoftirqd kthreads.  But only when running rcutorture builtin,
> > not as a module.  Here is the code in rcu_torture_init():
> >
> >               // Testing RCU priority boosting requires rcutorture do
> >               // some serious abuse.  Counter this by running ksoftirqd
> >               // at higher priority.
> >               if (IS_BUILTIN(CONFIG_RCU_TORTURE_TEST)) {
> >                       for_each_online_cpu(cpu) {
> >                               struct sched_param sp;
> >                               struct task_struct *t;
> >
> >                               t = per_cpu(ksoftirqd, cpu);
> >                               WARN_ON_ONCE(!t);
> >                               sp.sched_priority = 2;
> >                               sched_setscheduler_nocheck(t, SCHED_FIFO, &sp);
> >                       }
> >               }
> >
> > I take it that you were running rcutorture as a module?
> >
> > This describes how to run it built-in, if that works for you:
> >
> > https://paulmck.livejournal.com/61432.html
> >
> > More specifically: https://paulmck.livejournal.com/57769.html
> >
> > Alternatively, the "IS_BUILTIN(CONFIG_RCU_TORTURE_TEST)" check could be
> > removed in the above code, and the ksoftirqd kthreads could have their
> > original priority restored in rcu_torture_cleanup().
> >
> > Thoughts?
> 
> I actually run rcutorture as a builtin, but from what I can tell the above
> patch came in v5.14-rc1, and ofc I'm running my tests on v5.13-rt1... I
> should have paid closer attention to what was in the latest mainline,
> apologies for the noise. 

Not a problem, and thank you for giving rcutorture a try!

> FWIW tweaking ksoftirqd priority only when the torture module is builtin
> makes sense to me.

Very good, I will stick with the status quo, then.

							Thanx, Paul

      reply	other threads:[~2021-08-05 16:10 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-03 22:54 [PATCH 0/2] rcutorture: Some PREEMPT_RT fixlets Valentin Schneider
2021-08-03 22:54 ` [PATCH 1/2] rcutorture: Don't disable softirqs with preemption disabled when PREEMPT_RT Valentin Schneider
2021-08-03 23:43   ` Paul E. McKenney
2021-08-04 10:17     ` Valentin Schneider
2021-08-04 22:37       ` Paul E. McKenney
2021-08-03 22:54 ` [PATCH 2/2] rcutorture: Nudge ksoftirqd priority for RCU boost testing Valentin Schneider
2021-08-03 23:42   ` Paul E. McKenney
2021-08-04 10:18     ` Valentin Schneider
2021-08-04 22:53       ` Paul E. McKenney
2021-08-05 11:51         ` Valentin Schneider
2021-08-05 16:10           ` Paul E. McKenney [this message]

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=20210805161049.GK4397@paulmck-ThinkPad-P17-Gen-1 \
    --to=paulmck@kernel.org \
    --cc=bristot@redhat.com \
    --cc=dave@stgolabs.net \
    --cc=frederic@kernel.org \
    --cc=jiangshanlai@gmail.com \
    --cc=joel@joelfernandes.org \
    --cc=josh@joshtriplett.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rcu@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=valentin.schneider@arm.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.