From: Thomas Gleixner <tglx@linutronix.de>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Steve Muckle <steve.muckle@linaro.org>,
Ingo Molnar <mingo@redhat.com>,
"Rafael J . Wysocki" <rafael@kernel.org>,
linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
Vincent Guittot <vincent.guittot@linaro.org>,
Morten Rasmussen <morten.rasmussen@arm.com>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Juri Lelli <Juri.Lelli@arm.com>,
Patrick Bellasi <patrick.bellasi@arm.com>
Subject: Re: [PATCH 2/2] sched: cpufreq: use rt_avg as estimate of required RT CPU capacity
Date: Fri, 2 Sep 2016 10:12:30 +0200 (CEST) [thread overview]
Message-ID: <alpine.DEB.2.20.1609020923590.5647@nanos> (raw)
In-Reply-To: <20160831164009.GF10153@twins.programming.kicks-ass.net>
On Wed, 31 Aug 2016, Peter Zijlstra wrote:
> On Wed, Aug 31, 2016 at 06:28:10PM +0200, Thomas Gleixner wrote:
> > > That is the way it's been with cpufreq and many systems (including all
> > > mobile devices) rely on that to not destroy power. RT + variable cpufreq
> > > is not deterministic.
> > >
> > > Given we don't have good constraints on RT tasks I don't think we should
> > > try to strengthen the semantics there. Folks should either move to DL if
> > > they want determinism *and* not-sucky power, or continue disabling
> > > cpufreq if they are able to do so.
> >
> > RT deterministic behaviour is all about meeting the deadlines. If your
> > deadline is relaxed enough that you can meet it even with the lowest cpu
> > frequency then it's perfectly fine to enable cpufreq. The same logic applies
> > to C-States.
> >
> > There are a lot of RT systems out there which enable both. If cpufreq or
> > c-states cause a deadline violation because the constraints of the system are
> > tight, then people will disable it and we need a knob for both.
> >
> > Realtime is not as fast as possible. It's as fast as specified.
>
> Sure, problem is of course that RR/FIFO doesn't specify anything so the
> users are left to prod knobs.
I know :(
> Another problem is that we have many semi related knobs; we have the
> global RT runtime limit knob, but that doesn't affect cpufreq (maybe it
> should) and cpufreq has knobs to set f_min and f_max, which again are
> unaware of RT anything.
>
> So before we go do anything, I'd like input on what is needed and how
> things should tie together to make most sense.
RT systems and especially RR/FIFO driven ones need a lot of specific tuning
and configuration. I doubt that we can do anything except lousy heuristics
which will end up being wrong for most use cases.
In the DL case we certainly can do informed decisions, but for the RR/FIFO
case the global RT runtime limit is just a too big hammer which shouldn't be
abused for calculating cpufreq limits.
I think that we should concentrate on DL and make it work very well and just
leave the rest of the RT folks with rather simplistic knobs (i.e. on/off/hard
limits). That will force people who have RT _and_ power constraints to think
harder about their system design and eventually make them move over to DL.
Thanks,
tglx
prev parent reply other threads:[~2016-09-02 8:12 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-26 18:40 [PATCH 0/2] utilization changes for schedutil Steve Muckle
2016-08-26 18:40 ` [PATCH 1/2] sched: cpufreq: ignore SMT when determining max cpu capacity Steve Muckle
2016-08-31 1:27 ` Rafael J. Wysocki
2016-08-31 14:34 ` Peter Zijlstra
2016-09-12 22:25 ` Rafael J. Wysocki
2016-08-26 18:40 ` [PATCH 2/2] sched: cpufreq: use rt_avg as estimate of required RT CPU capacity Steve Muckle
2016-08-31 1:31 ` Rafael J. Wysocki
2016-08-31 14:49 ` Steve Muckle
2016-08-31 14:39 ` Peter Zijlstra
2016-08-31 15:08 ` Steve Muckle
2016-08-31 16:28 ` Thomas Gleixner
2016-08-31 16:40 ` Peter Zijlstra
2016-08-31 17:00 ` Juri Lelli
2016-09-01 7:12 ` Peter Zijlstra
2016-09-01 21:48 ` Steve Muckle
2016-09-02 9:35 ` Juri Lelli
2016-09-02 12:17 ` Thomas Gleixner
2016-08-31 22:50 ` Rafael J. Wysocki
2016-09-02 8:12 ` Thomas Gleixner [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=alpine.DEB.2.20.1609020923590.5647@nanos \
--to=tglx@linutronix.de \
--cc=Juri.Lelli@arm.com \
--cc=dietmar.eggemann@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=morten.rasmussen@arm.com \
--cc=patrick.bellasi@arm.com \
--cc=peterz@infradead.org \
--cc=rafael@kernel.org \
--cc=steve.muckle@linaro.org \
--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