linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pantelis Antoniou <panto@antoniou-consulting.com>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Saravana Kannan <skannan@codeaurora.org>,
	Ingo Molnar <mingo@elte.hu>,
	linaro-kernel@lists.linaro.org, Nicolas Pitre <nico@fluxnic.net>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Oleg Nesterov <oleg@redhat.com>,
	cpufreq@vger.kernel.org, linux-kernel@vger.kernel.org,
	Anton Vorontsov <anton.vorontsov@linaro.org>,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	Mike Chan <mike@android.com>, Dave Jones <davej@redhat.com>,
	Todd Poynor <toddpoynor@google.com>,
	kernel-team@android.com, linux-arm-kernel@lists.infradead.org,
	Arjan Van De Ven <arjan@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH RFC 0/4] Scheduler idle notifiers and users
Date: Tue, 21 Feb 2012 14:38:28 +0200	[thread overview]
Message-ID: <69B0D95C-2A80-41A9-97E1-86F5840B84CF@antoniou-consulting.com> (raw)
In-Reply-To: <1329318063.2293.136.camel@twins>

Hi there,

On Feb 15, 2012, at 5:01 PM, Peter Zijlstra wrote:

> On Wed, 2012-02-15 at 14:02 +0000, Russell King - ARM Linux wrote:
> 

<snip>
> 
> I guess that all will depend on the hardware.. there'll still be some
> sort of governor in between taking the per-cpu/task load-tracking data
> and scheduler events and using that to compute some volt/freq setting.
> 
> From what I've heard there's a number of different classes of hardware
> out there, some like race to idle, some can power gate more than others
> etc.. I'm not particularly bothered by those details, I'm sure there's
> people who are.
> 
> All I really want is to consolidate all the various statistics we have
> across cpufreq/cpuidle/sched and provide cpufreq with scheduler
> callbacks because they've been telling me their current polling stuff
> sucks rocks.
> 
> Also the current state of affairs is that the cpufreq stuff is trying to
> guess what the scheduler is doing, and people are feeding that back into
> the scheduler. This I need to stop from happening ;-)

If I may interject one more point here.

If we go to all the trouble of integrating cpufreq/cpuidle/sched into scheduler
callbacks, we should place hooks into the thermal framework/PM as well.

It will pretty common to have per core temperature readings, on most
modern SoCs. 

It is quite conceivable to have a case with a multi-core CPU where due
to load imbalance, one (or more) of the cores is running at full speed
while the rest are mostly idle. What you want do, for best performance
and conceivably better power consumption, is not to throttle either 
frequency or lowers voltage to the overloaded CPU but to migrate the
load to one of the cooler CPUs.

This affects CPU capacity immediately, i.e. you shouldn't schedule more
load on a CPU that its too hot, since you'll only end up triggering thermal 
shutdown. The ideal solution would be to round robin
the load from the hot CPU to the cooler ones, but not so fast that we lose
due to the migration of state from one CPU to the other.

In a nutshell, the processing capacity of a core is not static, i.e. it
might degrade over time due to the increase of temperature caused by the
previous load.

What do you think?

Regards

-- Pantelis
  


  parent reply	other threads:[~2012-02-21 12:48 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-08  1:39 [PATCH RFC 0/4] Scheduler idle notifiers and users Anton Vorontsov
2012-02-08  1:41 ` [PATCH 1/4] sched: Introduce idle notifiers API Anton Vorontsov
2012-02-08  1:43 ` [PATCH 2/4] sched: Wire up idle notifiers Anton Vorontsov
2012-02-08  1:44 ` [PATCH 3/4] cpufreq: New 'interactive' governor Anton Vorontsov
2012-02-08 23:00   ` Vincent Guittot
2012-02-09  0:32     ` Anton Vorontsov
2012-02-08  1:44 ` [PATCH 4/4] ARM: Move leds idle start/stop calls to sched idle notifiers Anton Vorontsov
2012-02-08  3:05 ` [PATCH RFC 0/4] Scheduler idle notifiers and users Peter Zijlstra
2012-02-08 20:23   ` Dave Jones
2012-02-08 21:33     ` Benjamin Herrenschmidt
2012-02-09  7:51       ` Ingo Molnar
2012-02-11  3:15         ` Saravana Kannan
2012-02-11 14:39           ` Mark Brown
2012-02-11 14:53             ` Peter Zijlstra
2012-02-11 15:33               ` Mark Brown
2012-02-15 13:38                 ` Peter Zijlstra
2012-02-15 16:04                   ` Mark Brown
2012-02-12 21:33               ` Benjamin Herrenschmidt
2012-02-11 14:45           ` Ingo Molnar
2012-02-14 23:20             ` Saravana Kannan
2012-02-15 13:38               ` Peter Zijlstra
2012-02-15 14:02                 ` Russell King - ARM Linux
2012-02-15 15:01                   ` Peter Zijlstra
2012-02-15 16:00                     ` Russell King - ARM Linux
2012-02-15 16:09                       ` Peter Zijlstra
2012-02-16  3:31                     ` Benjamin Herrenschmidt
2012-02-16 10:14                       ` Peter Zijlstra
2012-02-17  9:00                     ` Dominik Brodowski
2012-02-20 11:03                       ` Peter Zijlstra
2012-02-21 12:38                     ` Pantelis Antoniou [this message]
2012-02-21 12:56                       ` Peter Zijlstra
2012-02-21 13:31                         ` Pantelis Antoniou
2012-02-21 14:52                           ` Amit Kucheria
2012-02-21 17:06                             ` Pantelis Antoniou

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=69B0D95C-2A80-41A9-97E1-86F5840B84CF@antoniou-consulting.com \
    --to=panto@antoniou-consulting.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=anton.vorontsov@linaro.org \
    --cc=arjan@infradead.org \
    --cc=benh@kernel.crashing.org \
    --cc=cpufreq@vger.kernel.org \
    --cc=davej@redhat.com \
    --cc=kernel-team@android.com \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mike@android.com \
    --cc=mingo@elte.hu \
    --cc=nico@fluxnic.net \
    --cc=oleg@redhat.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=skannan@codeaurora.org \
    --cc=tglx@linutronix.de \
    --cc=toddpoynor@google.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).