[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <001501d165b7$1c69c790$553d56b0$@net>
Date: Fri, 12 Feb 2016 09:02:07 -0800
From: "Doug Smythies" <dsmythies@...us.net>
To: "'Rafael J. Wysocki'" <rafael@...nel.org>,
"'Peter Zijlstra'" <peterz@...radead.org>
Cc: "'Steve Muckle'" <steve.muckle@...aro.org>,
"'Rafael J. Wysocki'" <rjw@...ysocki.net>,
"'Linux PM list'" <linux-pm@...r.kernel.org>,
"'Linux Kernel Mailing List'" <linux-kernel@...r.kernel.org>,
"'Srinivas Pandruvada'" <srinivas.pandruvada@...ux.intel.com>,
"'Viresh Kumar'" <viresh.kumar@...aro.org>,
"'Juri Lelli'" <juri.lelli@....com>,
"'Thomas Gleixner'" <tglx@...utronix.de>
Subject: RE: [PATCH 0/3] cpufreq: Replace timers with utilization update callbacks
On 2016.02.12 08:01 Rafael J. Wysocki wrote:
> On Fri, Feb 12, 2016 at 3:10 PM, Peter Zijlstra <peterz@...radead.org> wrote:
>> On Thu, Feb 11, 2016 at 10:52:20AM -0800, Steve Muckle wrote:
>>> On 02/11/2016 09:30 AM, Peter Zijlstra wrote:
>>>>> My concern above is that pokes are guaranteed to keep occurring when
>>>>> there is only RT or DL activity so nothing breaks.
>>>>
>>>> The hook in their respective tick handler should ensure stuff is called
>>>> sporadically and isn't stalled.
>>>
>>> But that's only true if the RT/DL tasks happen to be running when the
>>> tick arrives right?
>>>
>>> Couldn't we have RT/DL activity which doesn't overlap with the tick? And
>>> if no CFS tasks happen to be executing on that CPU, we'll never trigger
>>> the cpufreq update. This could go on for an arbitrarily long time
>>> depending on the periodicity of the work.
>>
>> Possible yes, but why do we care? Such a CPU would be so much idle that
>> cpufreq doesn't matter one way or another, right?
> Well, in theory you can get 50% or so of the time active in bursts
> that happen to fit between ticks. If we happen to do those in the
> lowest P-state, we may burn more energy than necessary on platforms
> where more idle is preferred.
I believe this happens considerably more often than is commonly thought,
and is the exact reason I was opposed to the introduction of the
"duration" method into the intel_pstate driver in the first
place. The probability of occurrence (of a relatively busy CPU being idle
on jiffy boundaries) is very use dependant, occurring more on desktops than
servers, and sometime more with video frame rate based tasks. Data to support
my claim is a couple of years old and not very complete, but I see the issue
often on trace data acquired from desktop users on bugzilla reports.
Disclaimer: I fully admit that my related tests on the other thread have
been rigged to exaggerate the issue.
Powered by blists - more mailing lists