linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rafael@kernel.org>
To: Quentin Perret <quentin.perret@arm.com>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Linux PM <linux-pm@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
	Chen Yu <yu.c.chen@intel.com>,
	Gabriele Mazzotta <gabriele.mzt@gmail.com>
Subject: Re: [RFT][Update][PATCH 2/2] cpufreq: intel_pstate: Update max CPU frequency on global turbo changes
Date: Wed, 6 Mar 2019 11:05:47 +0100	[thread overview]
Message-ID: <CAJZ5v0jJxMw6_6Ep=fee8VGEbqpFKQtA2kX5t1scNwX3GhaTTg@mail.gmail.com> (raw)
In-Reply-To: <20190305173746.p32xolcpueudlzwn@queper01-lin>

On Tue, Mar 5, 2019 at 6:37 PM Quentin Perret <quentin.perret@arm.com> wrote:
>
> On Tuesday 05 Mar 2019 at 18:02:25 (+0100), Rafael J. Wysocki wrote:
> > But that 128 needs to be compared to
> >
> > (SCHED_CAPACITY_SCALE * cpuinfo.min_freq) / cpuinfo.max_freq
> >
> > so with SCHED_CAPACITY_SCALE equal to 1024 this means max_freq 8x
> > higher than min_freq.  That is not totally unreasonable IMO and
> > because sg_cpu->iowait_boost grows exponentially, the difference
> > between 8x and, say, 4x is one iteration.
> >
> > > The first steps will all be below the min freq, so they'll just be
> > > transparent, while right now the iowait boost kicks in much faster :/
> >
> > There can be one iteration of a difference this way or that way AFAICS
> > and I'm not even sure how much of a performance difference that makes
> > in practice.
>
> Yeah I don't expect that to have a huge impact TBH but it'd be nice to
> actually get numbers to verify that, that's all I'm saying :-)
>
> You have 'funny' platforms like Juno r0 out there where the min/max
> frequencies are 450MHz/850Mhz. In this case, starting from 128 you'll
> need 3 wake-ups to reach what is currently the starting point. I'm not
> sure if the impact is visible or not, but it's worth checking.

Please recall that the iowait boosting algo was different to start
with, though: it jumped to the max right away and then backed off.
That turned out to be overly aggressive in general and led to some
undesired "jittery" behavior, which is why it was changed.

Thus it looks like the platforms on which it still jumps to the max
right away may actually benefit from changing it to more steps. :-)

In turn, the platforms where it takes more than 3 steps for the boost
to get to the max would get a slight performance improvement from this
changes and I'm not sure why that could be bad.

Moreover, it didn't depend on the min originally, just on the max and
just because I wanted the number of backoff steps needed to go back
down to zero to be independent of the platform IIRC.  The dependency
on the min is sort of artificial here and leads to arbitrary
differences in behavior between different platforms which isn't
particularly fortunate.

With all of that in mind, I would go right away to making the boost
independent of min and max (the final number of steps to reach the max
is TBD in practice, but 3 looks like a good enough compromise to me).

FWIW, the internal governor in intel_pstate has been changed along
these lines already (the changes is waiting for Linus to pull it ATM).

  reply	other threads:[~2019-03-06 10:06 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-01 12:43 [RFT][PATCH 0/2] cpufreq: intel_pstate: Handle _PPC updates on global turbo disable/enable Rafael J. Wysocki
2019-03-01 12:45 ` [RFT][PATCH 1/2] cpufreq: intel_pstate: Driver-specific handling of _PPC updates Rafael J. Wysocki
2019-03-01 12:47 ` [RFT][PATCH 2/2] cpufreq: intel_pstate: Update max CPU frequency on global turbo changes Rafael J. Wysocki
2019-03-01 12:57   ` [RFT][Update][PATCH " Rafael J. Wysocki
2019-03-04 14:39     ` Yu Chen
2019-03-05 10:42     ` Quentin Perret
2019-03-05 10:50       ` Rafael J. Wysocki
2019-03-05 10:58         ` Rafael J. Wysocki
2019-03-05 11:44           ` Peter Zijlstra
2019-03-05 11:52             ` Rafael J. Wysocki
2019-03-05 12:00             ` Quentin Perret
2019-03-05 12:24               ` Peter Zijlstra
2019-03-05 17:02               ` Rafael J. Wysocki
2019-03-05 17:37                 ` Quentin Perret
2019-03-06 10:05                   ` Rafael J. Wysocki [this message]
2019-03-07 11:02                     ` Quentin Perret
2019-03-07 11:23                       ` Peter Zijlstra
2019-03-07 11:49                         ` Quentin Perret
2019-03-07 11:25                       ` Rafael J. Wysocki
2019-03-07 11:59                         ` Quentin Perret
2019-03-05 11:01         ` Quentin Perret
2019-03-01 17:39 ` [RFT][PATCH 0/2] cpufreq: intel_pstate: Handle _PPC updates on global turbo disable/enable Srinivas Pandruvada
2019-03-02 10:30   ` Yu Chen
2019-03-02 16:24     ` Srinivas Pandruvada
2019-03-03 17:03   ` Rafael J. Wysocki
2019-03-03 21:20     ` Srinivas Pandruvada
2019-03-03 21:51       ` Rafael J. Wysocki
2019-03-04  4:06         ` Srinivas Pandruvada
2019-03-04  9:41           ` Rafael J. Wysocki
2019-03-04 18:06             ` Srinivas Pandruvada
2019-03-04 21:57               ` Rafael J. Wysocki
2019-03-04 23:04                 ` Srinivas Pandruvada
2019-03-05  8:40                   ` Rafael J. Wysocki
2019-03-03 22:42 ` Gabriele Mazzotta
2019-03-04  9:58   ` Rafael J. Wysocki

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='CAJZ5v0jJxMw6_6Ep=fee8VGEbqpFKQtA2kX5t1scNwX3GhaTTg@mail.gmail.com' \
    --to=rafael@kernel.org \
    --cc=gabriele.mzt@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=quentin.perret@arm.com \
    --cc=rjw@rjwysocki.net \
    --cc=srinivas.pandruvada@linux.intel.com \
    --cc=viresh.kumar@linaro.org \
    --cc=yu.c.chen@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).