From: "Doug Smythies" <dsmythies@telus.net>
To: "'Rafael J. Wysocki'" <rjw@rjwysocki.net>
Cc: "'Srinivas Pandruvada'" <srinivas.pandruvada@linux.intel.com>,
"'Peter Zijlstra'" <peterz@infradead.org>,
"'LKML'" <linux-kernel@vger.kernel.org>,
"'Frederic Weisbecker'" <frederic@kernel.org>,
"'Mel Gorman'" <mgorman@suse.de>,
"'Daniel Lezcano'" <daniel.lezcano@linaro.org>,
"'Chen, Hu'" <hu1.chen@intel.com>,
"'Quentin Perret'" <quentin.perret@arm.com>,
"'Linux PM'" <linux-pm@vger.kernel.org>,
"'Giovanni Gherdovich'" <ggherdovich@suse.cz>
Subject: RE: [RFC/RFT][PATCH v8] cpuidle: New timer events oriented governor for tickless systems
Date: Thu, 10 Oct 2019 00:05:11 -0700 [thread overview]
Message-ID: <000b01d57f39$11868670$34939350$@net> (raw)
In-Reply-To: <3490479.2dnHFFeJIp@kreacher>
On 2019.10.09 06:37 Rafael J. Wysocki wrote:
> On Wednesday, October 9, 2019 1:19:51 AM CEST Rafael J. Wysocki wrote:
>> On Tuesday, October 8, 2019 12:49:01 PM CEST Rafael J. Wysocki wrote:
>>> On Tue, Oct 8, 2019 at 11:51 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>>>> On Tue, Oct 8, 2019 at 8:20 AM Doug Smythies <dsmythies@telus.net> wrote:
>>>>> O.K. Thanks for your quick reply, and insight.
>>>>>
>>>>> I think long durations always need to be counted, but currently if
>>>>> the deepest idle state is disabled, they are not.
...
>>>> AFAICS, adding early_hits to count is not a mistake if there are still
>>>> enabled states deeper than the current one.
>>>
>>> And the mistake appears to be that the "hits" and "misses" metrics
>>> aren't handled in analogy with the "early_hits" one when the current
>>> state is disabled.
I only know how to exploit and test the "hits" and "misses" path
that should use the deepest available idle state upon transition
to an idle system. Even so, the test has a low probability of
failing, and so needs to be run many times.
I do not know how to demonstrate and/or test any "early_hits" path
to confirm that an issue exists or that it is fixed.
>>>
>>> Let me try to cut a patch to address that.
>>
>> Appended below, not tested.
Reference as: rjw1
>>
>> It is meant to address two problems, one of which is that the "hits" and
>> "misses" metrics of disabled states need to be taken into account too in
>> some cases, and the other is an issue with the handling of "early hits"
>> which may lead to suboptimal state selection if some states are disabled.
>
> Well, it still misses a couple of points.
>
> First, disable states that are too deep should not be taken into consideration
> at all.
>
> Second, the "hits" and "misses" metrics of disabled states need to be used for
> idle duration ranges corresponding to them regardless of whether or not the
> "hits" value is greater than the "misses" one.
>
> Updated patch is below (still not tested), but it tries to do too much in one
> go, so I need to split it into a series of smaller changes.
Thanks for your continued look at this.
Reference as: rjw2
Test 1, hack job statistical test (old tests re-stated):
Kernel tests fail rate
5.4-rc1 6616 13.45%
5.3 2376 4.50%
5.3-teov7 12136 0.00% <<< teo.c reverted and teov7 put in its place.
5.4-rc1-ds 11168 0.00% <<< [old] ds proposed patch (> 7 hours test time)
5.4-rc1-ds12 4224 0.00% <<< [old] new ds proposed patch
5.4-rc2-rjw1 11280 0.00%
5.4-rc2-rjw2 640 0.00% <<< Will be run again, for longer.
Test 2: I also looked at every possible enable/disable idle combination,
and they all seemed O.K.
No other tests have been run yet.
System:
Processor: i7-2600K
Deepest idle state: 4 (C6)
... Doug
next prev parent reply other threads:[~2019-10-10 7:05 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-26 16:31 [RFC/RFT][PATCH v8] cpuidle: New timer events oriented governor for tickless systems Doug Smythies
2019-09-29 16:04 ` Doug Smythies
2019-10-01 9:31 ` Rafael J. Wysocki
2019-10-06 14:46 ` Doug Smythies
2019-10-06 15:34 ` Rafael J. Wysocki
2019-10-08 6:20 ` Doug Smythies
2019-10-08 9:51 ` Rafael J. Wysocki
2019-10-08 10:49 ` Rafael J. Wysocki
2019-10-08 23:19 ` Rafael J. Wysocki
2019-10-09 13:36 ` Rafael J. Wysocki
2019-10-10 7:05 ` Doug Smythies [this message]
2019-10-10 8:42 ` Rafael J. Wysocki
-- strict thread matches above, loose matches on Subject: below --
2018-12-17 1:53 Doug Smythies
2018-12-17 11:59 ` Rafael J. Wysocki
2018-12-11 11:49 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='000b01d57f39$11868670$34939350$@net' \
--to=dsmythies@telus.net \
--cc=daniel.lezcano@linaro.org \
--cc=frederic@kernel.org \
--cc=ggherdovich@suse.cz \
--cc=hu1.chen@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=peterz@infradead.org \
--cc=quentin.perret@arm.com \
--cc=rjw@rjwysocki.net \
--cc=srinivas.pandruvada@linux.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).