From: "Doug Smythies" <email@example.com> To: "'Rafael J. Wysocki'" <firstname.lastname@example.org>, "'Viresh Kumar'" <email@example.com> Cc: "'Srinivas Pandruvada'" <firstname.lastname@example.org>, "'Len Brown'" <email@example.com>, "'Linux PM'" <firstname.lastname@example.org>, "'Vincent Guittot'" <email@example.com>, "'v4 . 18+'" <firstname.lastname@example.org>, "'Doug Smythies'" <email@example.com>, "'Linux Kernel Mailing List'" <firstname.lastname@example.org> 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 <email@example.com> 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
next prev parent 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: 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='000401d54a0c$2f03aa50$8d0afef0$@net' \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --subject='RE: [PATCH V3 2/2] cpufreq: intel_pstate: Implement ->resolve_freq()' \ /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
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).