From: "Doug Smythies" <dsmythies@telus.net>
To: "'Rafael J. Wysocki'" <rafael@kernel.org>
Cc: "'Rik van Riel'" <riel@surriel.com>,
"'Rafael J. Wysocki'" <rjw@rjwysocki.net>,
"'Linux PM'" <linux-pm@vger.kernel.org>,
"'Frederic Weisbecker'" <fweisbec@gmail.com>,
"'Thomas Gleixner'" <tglx@linutronix.de>,
"'Paul McKenney'" <paulmck@linux.vnet.ibm.com>,
"'Thomas Ilsche'" <thomas.ilsche@tu-dresden.de>,
"'Aubrey Li'" <aubrey.li@linux.intel.com>,
"'Mike Galbraith'" <mgalbraith@suse.de>,
"'LKML'" <linux-kernel@vger.kernel.org>,
"'Peter Zijlstra'" <peterz@infradead.org>,
"Doug Smythies" <dsmythies@telus.net>
Subject: RE: [PATCH v2] cpuidle: poll_state: Add time limit to poll_idle()
Date: Fri, 23 Mar 2018 14:30:03 -0700 [thread overview]
Message-ID: <000001d3c2ee$1e45c410$5ad14c30$@net> (raw)
In-Reply-To: zIfde8JFp1KonzIfeepFUa
On 2018.03.23 02:08 Rafael J. Wysocki wrote:
> On Fri, Mar 23, 2018 at 9:57 AM, Rafael J. Wysocki <rafael@kernel.org> wrote:
>> On Fri, Mar 23, 2018 at 4:19 AM, Doug Smythies <dsmythies@telus.net> wrote:
>>> On 2018.03.22 12:12 Doug Smythies wrote:
...[snip]...
>>
>>> I'm not sure how good it is but I made a test. I didn't believe
>>> the results, so I did it 3 times.
>>>
>>> V7.3 is as from the git branch.
>>> V7.3p is plus the patch adding the counter loop to poll_state.c
>>>
>>> The test is a tight loop (about 19600 loops per second) running
>>> on all 8 CPUs. I can not seem to get my system to use Idle State
>>> 0, so I disabled Idle States 1 and 2 to force use of Idle State 0.
>>>
>>> V7.3 uses a processor package power of 62.5 Watts
>>> V7.3p uses a processor package power of 53.4 Watts, or 14.6% less power.
>>>
>>> The loop times do not change.
>>> The Idle state 0 residency per unit time does not change.
>>
>> OK, so this means that the results should improve for Rik with this
>> patch too. :-)
I hope so.
> BTW, can you possibly check how much of a difference it makes to
> reduce POLL_IDLE_COUNT in the patch to, say, 500 or even more?
>
> The lower it is, the less noise it will introduce AFAICS.
Well, we would expect the curve to be something like a typical 1/x curve:
Power = 53.4 + k1/(k2* POLL_IDLE_COUNT + k3)
I did some runs and did a crude fit:
Power ~= 53.4 + 35/(POLL_IDLE_COUNT + 3)
And then calculate an allowed error from that. A count of 100 gives
back only 0.64% of the power, and so I suggest would be a reasonable
number.
That being said, my test is quite crude and we should first see what
others, including Rik, get.
These two graphs might help explain what I did:
http://fast.smythies.com/v73p_vary_count.png
http://fast.smythies.com/v73p_extra_power.png
It is just my opinion, but I think users with very stringent
idle state 0 exit latency requirements should test with
POLL_IDLE_COUNT set to 1. Then they know the worst case works,
whereas they might not hit it at 1/POLL_IDLE_COUNT probability.
Once happy that the worst case works, use nominal (T.B.D.)
POLL_IDLE_COUNT, for the power savings.
... Doug
next prev parent reply other threads:[~2018-03-23 21:30 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-12 9:36 [PATCH v2] cpuidle: poll_state: Add time limit to poll_idle() Rafael J. Wysocki
2018-03-14 11:24 ` Rafael J. Wysocki
2018-03-14 12:04 ` Peter Zijlstra
2018-03-14 12:08 ` Rafael J. Wysocki
2018-03-22 16:32 ` Rik van Riel
2018-03-22 19:11 ` Peter Zijlstra
2018-03-27 16:42 ` Rafael J. Wysocki
2018-03-27 18:02 ` Rik van Riel
2018-03-27 21:09 ` Rafael J. Wysocki
2018-03-22 19:11 ` Doug Smythies
2018-03-23 3:19 ` Doug Smythies
2018-03-23 8:57 ` Rafael J. Wysocki
2018-03-23 9:07 ` Rafael J. Wysocki
2018-03-23 21:30 ` Doug Smythies [this message]
2018-03-24 11:25 ` 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='000001d3c2ee$1e45c410$5ad14c30$@net' \
--to=dsmythies@telus.net \
--cc=aubrey.li@linux.intel.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mgalbraith@suse.de \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=rafael@kernel.org \
--cc=riel@surriel.com \
--cc=rjw@rjwysocki.net \
--cc=tglx@linutronix.de \
--cc=thomas.ilsche@tu-dresden.de \
/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