archive mirror
 help / color / mirror / Atom feed
From: "Doug Smythies" <>
To: "'Rafael J. Wysocki'" <>,
	"'Viresh Kumar'" <>
Cc: "'Srinivas Pandruvada'" <>,
	"'Len Brown'" <>,
	"'Linux PM'" <>,
	"'Vincent Guittot'" <>,
	"'v4 . 18+'" <>,
	"'Doug Smythies'" <>,
	"'Linux Kernel Mailing List'" <>
Subject: RE: [PATCH V3 2/2] cpufreq: intel_pstate: Implement ->resolve_freq()
Date: Sat, 3 Aug 2019 08:00:23 -0700	[thread overview]
Message-ID: <000401d54a0c$2f03aa50$8d0afef0$@net> (raw)
In-Reply-To: <2676200.jfxhmTd764@kreacher>

On 2019.08.02 02:28 Rafael J. Wysocki wrote:
> On Friday, August 2, 2019 11:17:55 AM CEST Rafael J. Wysocki wrote:
>> On Fri, Aug 2, 2019 at 7:44 AM Viresh Kumar <> wrote:
>>> Intel pstate driver exposes min_perf_pct and max_perf_pct sysfs files,
>>> which can be used to force a limit on the min/max P state of the driver.
>>> Though these files eventually control the min/max frequencies that the
>>> CPUs will run at, they don't make a change to policy->min/max values.
>> That's correct.
>>> When the values of these files are changed (in passive mode of the
>>> driver), it leads to calling ->limits() callback of the cpufreq
>>> governors, like schedutil. On a call to it the governors shall
>>> forcefully update the frequency to come within the limits.
>> OK, so the problem is that it is a bug to invoke the governor's ->limits()
>> callback without updating policy->min/max, because that's what
>> "limits" mean to the governors.
>> Fair enough.
> AFAICS this can be addressed by adding PM QoS freq limits requests of each CPU to
> intel_pstate in the passive mode such that changing min_perf_pct or max_perf_pct
> will cause these requests to be updated.

All governors for the intel_cpufreq (intel_pstate in passive mode) CPU frequency
scaling driver are broken with respect to this issue, not just the schedutil
governor. My initial escalation had been focused on acpi-cpufreq/schedutil
and intel_cpufreq/schedutil, as they were both broken, and both fixed by my initially
submitted reversion. What can I say, I missed that other intel_cpufreq governors
were also involved.

I tested all of them: conservative ondemand userspace powersave performance schedutil
Note that no other governor uses resolve_freq().

... Doug

  reply	other threads:[~2019-08-03 15:00 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-02  5:44 [PATCH V3 1/2] cpufreq: schedutil: Don't skip freq update when limits change Viresh Kumar
2019-08-02  5:44 ` [PATCH V3 2/2] cpufreq: intel_pstate: Implement ->resolve_freq() Viresh Kumar
2019-08-02  9:17   ` Rafael J. Wysocki
2019-08-02  9:28     ` Rafael J. Wysocki
2019-08-03 15:00       ` Doug Smythies [this message]
2019-08-05  8:35         ` Rafael J. Wysocki
2019-08-06  4:10       ` Viresh Kumar
2019-08-06  8:05         ` Rafael J. Wysocki
2019-08-02  9:11 ` [PATCH V3 1/2] cpufreq: schedutil: Don't skip freq update when limits change Rafael J. Wysocki
2019-08-03  0:00   ` Doug Smythies

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='000401d54a0c$2f03aa50$8d0afef0$@net' \ \ \ \ \ \ \ \ \ \ \
    --subject='RE: [PATCH V3 2/2] cpufreq: intel_pstate: Implement ->resolve_freq()' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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).