From: Scott Wood <swood@redhat.com>
To: Mike Galbraith <efault@gmx.de>,
Vincent Guittot <vincent.guittot@linaro.org>
Cc: Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Steven Rostedt <rostedt@goodmis.org>,
Mel Gorman <mgorman@suse.de>,
Valentin Schneider <valentin.schneider@arm.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
linux-rt-users <linux-rt-users@vger.kernel.org>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH v2 0/3] newidle_balance() PREEMPT_RT latency mitigations
Date: Mon, 03 May 2021 16:57:24 -0500 [thread overview]
Message-ID: <32a536f5688105df515e6ad9fd12fbcdbd781afb.camel@redhat.com> (raw)
In-Reply-To: <3773421d06bed0beed9971d03e8fa2050a14cc13.camel@gmx.de>
On Mon, 2021-05-03 at 20:52 +0200, Mike Galbraith wrote:
> On Mon, 2021-05-03 at 11:33 -0500, Scott Wood wrote:
> > On Sun, 2021-05-02 at 05:25 +0200, Mike Galbraith wrote:
> > > If NEWIDLE balancing migrates one task, how does that manage to
> > > consume
> > > a full *millisecond*, and why would that only be a problem for RT?
> > >
> > > -Mike
> > >
> > > (rt tasks don't play !rt balancer here, if CPU goes idle, tough titty)
> >
> > Determining which task to pull is apparently taking that long (again,
> > this is on a 128-cpu system). RT is singled out because that is the
> > config that makes significant tradeoffs to keep latencies down (I
> > expect this would be far from the only possible 1ms+ latency on a
> > non-RT kernel), and there was concern about the overhead of a double
> > context switch when pulling a task to a newidle cpu.
>
> What I think has be going on is that you're running a synchronized RT
> load, many CPUs go idle as a thundering herd, and meet at focal point
> busiest. What I was alluding to was that preventing such size scale
> pile-ups would be way better than poking holes in it for RT to try to
> sneak through. If pile-up it is, while not particularly likely, the
> same should happen with normal tasks, wasting cycles generating heat.
>
> The main issue I see with these patches is that the resulting number is
> still so gawd awful as to mean "nope, not rt ready", making the whole
> exercise look a bit like a noop.
It doesn't look like rteval asks cyclictest to synchronize, but
regardless, how is this "poking holes"? Making sure interrupts are
enabled during potentially long-running activities is pretty fundamental
to PREEMPT_RT. What specifically is your suggestion?
And yes, 317 us is still not a very good number for PREEMPT_RT, but
progress is progress. It's hard to address the moderate latency spikes
if they're obscured by large latency spikes. One also needs to have
realistic expectations when it comes to RT on large systems, particularly
when not isolating the latency-sensitive CPUs.
-Scott
next prev parent reply other threads:[~2021-05-03 21:57 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-28 23:28 Scott Wood
2021-04-28 23:28 ` [PATCH v2 1/3] sched/fair: Call newidle_balance() from balance_callback on PREEMPT_RT Scott Wood
2021-05-05 12:13 ` Vincent Guittot
2021-05-07 15:19 ` Valentin Schneider
2021-04-28 23:28 ` [PATCH v2 2/3] sched/fair: Enable interrupts when dropping lock in newidle_balance() Scott Wood
2021-04-28 23:28 ` [PATCH v2 3/3] sched/fair: break out of newidle balancing if an RT task appears Scott Wood
2021-04-29 4:11 ` kernel test robot
2021-04-29 6:37 ` kernel test robot
2021-05-07 11:03 ` Peter Zijlstra
2021-05-15 7:29 ` Mike Galbraith
2021-05-15 8:36 ` Mike Galbraith
2021-04-29 7:12 ` [PATCH v2 0/3] newidle_balance() PREEMPT_RT latency mitigations Vincent Guittot
2021-05-01 22:03 ` Scott Wood
2021-05-02 3:25 ` Mike Galbraith
2021-05-03 16:33 ` Scott Wood
2021-05-03 18:52 ` Mike Galbraith
2021-05-03 21:57 ` Scott Wood [this message]
2021-05-04 4:07 ` Mike Galbraith
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=32a536f5688105df515e6ad9fd12fbcdbd781afb.camel@redhat.com \
--to=swood@redhat.com \
--cc=bigeasy@linutronix.de \
--cc=dietmar.eggemann@arm.com \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=valentin.schneider@arm.com \
--cc=vincent.guittot@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®