From: "Doug Smythies" <dsmythies@telus.net>
To: "'Vincent Guittot'" <vincent.guittot@linaro.org>
Cc: "'Ingo Molnar'" <mingo@kernel.org>,
"'Rafael J. Wysocki'" <rafael@kernel.org>,
<linux-pm@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
"Doug Smythies" <dsmythies@telus.net>
Subject: RE: sched/cpufreq: Rework schedutil governor performance estimation - Regression bisected
Date: Tue, 13 Feb 2024 10:07:36 -0800 [thread overview]
Message-ID: <001b01da5ea7$86c7a070$9456e150$@telus.net> (raw)
In-Reply-To: <CAKfTPtB8v30LzL3EufRqbfcCceS2nQ_2G8ZHuoD5N1_y-pvFbg@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2608 bytes --]
On 2024.02.13 03:27 Vincent wrote:
> On Sun, 11 Feb 2024 at 17:43, Doug Smythies <dsmythies@telus.net> wrote:
>> On 2024.02.11 05:36 Vincent wrote:
>>> On Sat, 10 Feb 2024 at 00:16, Doug Smythies <dsmythies@telus.net> wrote:
>>>> On 2024.02.09.14:11 Vincent wrote:
>>>>> On Fri, 9 Feb 2024 at 22:38, Doug Smythies <dsmythies@telus.net> wrote:
>>>>>>
>>>>>> I noticed a regression in the 6.8rc series kernels. Bisecting the kernel pointed to:
>>>>>>
>>>>>> # first bad commit: [9c0b4bb7f6303c9c4e2e34984c46f5a86478f84d]
>>>>>> sched/cpufreq: Rework schedutil governor performance estimation
>>>>>>
>>>>>> There was previous bisection and suggestion of reversion,
>>>>>> but I guess it wasn't done in the end. [1]
>>>>>
>>>>> This has been fixed with
>>>>> https://lore.kernel.org/all/170539970061.398.16662091173685476681.tip-bot2@tip-bot2/
>>>>
>>>> Okay, thanks. I didn't find that one.
>>>>
>>>>>> The regression: reduced maximum CPU frequency is ignored.
>>
>> Perhaps I should have said "sometimes ignored".
>> With a maximum CPU frequency for all CPUs set to 2.4 GHz and
>> a 100% load on CPU 5, its frequency was sampled 1000 times:
>> 28.6% of samples were 2.4 GHz.
>> 71.4% of samples were 4.8 GHz (the max turbo frequency)
>> The results are highly non-repeatable, for example another sample:
>> 32.8% of samples were 2.4 GHz.
>> 76.2% of samples were 4.8 GHz
>>
>> Another interesting side note: If load is added to the other CPUs,
>> the set maximum CPU frequency is enforced.
>
> Could you trace cpufreq and pstate ? I'd like to understand how
> policy->cur can be changed
> whereas there is this comment in intel_pstate_set_policy():
> /*
> * policy->cur is never updated with the intel_pstate driver, but it
> * is used as a stale frequency value. So, keep it within limits.
> */
>
> but cpufreq_driver_fast_switch() updates it with the freq returned by
> intel_cpufreq_fast_switch()
Perhaps I should submit a patch clarifying that comment.
It is true for the "intel_pstate" CPU frequency scaling driver but not for the
"intel_cpufreq" CPU frequency scaling driver, also known as the intel_pstate
driver in passive mode. Sorry for any confusion.
I ran the intel_pstate_tracer.py during the test and do observe many, but
not all, CPUs requesting pstate 48 when the max is set to 24.
The calling request seems to always be via "fast_switch" path.
The root issue here appears to be a limit clamping problem for that path.
I'll try to attach a couple of graphs and screen shots from the tracer data.
I do not know how to trace cpufreq at the same time.
... Doug
[-- Attachment #2: all_cpu_pstates.png --]
[-- Type: image/png, Size: 23829 bytes --]
[-- Attachment #3: cpu5-example.png --]
[-- Type: image/png, Size: 66432 bytes --]
next prev parent reply other threads:[~2024-02-13 18:07 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-09 21:38 sched/cpufreq: Rework schedutil governor performance estimation - Regression bisected Doug Smythies
2024-02-09 22:10 ` Vincent Guittot
2024-02-09 23:16 ` Doug Smythies
2024-02-11 13:36 ` Vincent Guittot
2024-02-11 16:43 ` Doug Smythies
2024-02-13 11:27 ` Vincent Guittot
2024-02-13 18:07 ` Doug Smythies [this message]
2024-02-14 15:37 ` Vincent Guittot
2024-02-15 22:53 ` Doug Smythies
2024-02-16 13:17 ` Vincent Guittot
2024-02-24 13:43 ` Linux regression tracking (Thorsten Leemhuis)
2024-02-24 14:11 ` Rafael J. Wysocki
2024-02-24 14:31 ` Linux regression tracking (Thorsten Leemhuis)
2024-02-24 14:57 ` Doug Smythies
2024-02-14 13:42 ` Linux regression tracking #adding (Thorsten Leemhuis)
2024-02-24 16:43 ` Linux regression tracking #update (Thorsten Leemhuis)
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='001b01da5ea7$86c7a070$9456e150$@telus.net' \
--to=dsmythies@telus.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=rafael@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.