Re: [RFC PATCH 02/10] sched: Task placement for heterogeneous systems based on task load-tracking

2012-10-09 Thread Morten Rasmussen
Hi Viresh, On Thu, Oct 04, 2012 at 07:02:03AM +0100, Viresh Kumar wrote: Hi Morten, On 22 September 2012 00:02, morten.rasmus...@arm.com wrote: From: Morten Rasmussen morten.rasmus...@arm.com This patch introduces the basic SCHED_HMP infrastructure. Each class of cpus is represented

Re: [RFC PATCH 04/10] sched: Introduce priority-based task migration filter

2012-10-09 Thread Morten Rasmussen
On Thu, Oct 04, 2012 at 07:27:00AM +0100, Viresh Kumar wrote: On 22 September 2012 00:02, morten.rasmus...@arm.com wrote: +config SCHED_HMP_PRIO_FILTER + bool (EXPERIMENTAL) Filter HMP migrations by task priority + depends on SCHED_HMP Should it depend on EXPERIMENTAL?

Re: [RFC PATCH 06/10] ARM: sched: Use device-tree to provide fast/slow CPU list for HMP

2012-10-10 Thread Morten Rasmussen
On Thu, Oct 04, 2012 at 07:49:32AM +0100, Viresh Kumar wrote: On 22 September 2012 00:02, morten.rasmus...@arm.com wrote: From: Morten Rasmussen morten.rasmus...@arm.com We can't rely on Kconfig options to set the fast and slow CPU lists for HMP scheduling if we want a single kernel

Re: [RFC PATCH 06/10] ARM: sched: Use device-tree to provide fast/slow CPU list for HMP

2012-10-10 Thread Morten Rasmussen
Hi Tixy, Could you have a look at my code stealing patch below? Since it is basically a trimmed version of one of your patches I would prefer to put you as author and have your SOB on it. What is your opinion? Thanks, Morten On Fri, Sep 21, 2012 at 07:32:21PM +0100, Morten Rasmussen wrote

Re: [RFC PATCH 07/10] ARM: sched: Setup SCHED_HMP domains

2012-10-10 Thread Morten Rasmussen
On Thu, Oct 04, 2012 at 07:58:45AM +0100, Viresh Kumar wrote: On 22 September 2012 00:02, morten.rasmus...@arm.com wrote: diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c +void __init arch_get_hmp_domains(struct list_head *hmp_domains_list) +{ + struct cpumask

Re: [RFC 3/6] sched: pack small tasks

2012-11-09 Thread Morten Rasmussen
On Fri, Nov 02, 2012 at 10:53:47AM +, Santosh Shilimkar wrote: On Monday 29 October 2012 06:42 PM, Vincent Guittot wrote: On 24 October 2012 17:20, Santosh Shilimkar santosh.shilim...@ti.com wrote: Vincent, Few comments/questions. On Sunday 07 October 2012 01:13 PM, Vincent

Re: [RFC 3/6] sched: pack small tasks

2012-11-09 Thread Morten Rasmussen
Hi Vincent, I have experienced suboptimal buddy selection on a dual cluster setup (ARM TC2) if SD_SHARE_POWERLINE is enabled at MC level and disabled at CPU level. This seems to be the correct flag settings for a system with only cluster level power gating. To me it looks like

Re: [RFC PATCH 0/2] sched: Load Balancing using Per-entity-Load-tracking

2012-10-18 Thread Morten Rasmussen
Hi Preeti, I'm pleased to see that someone found the time to start looking at this. On Fri, Oct 12, 2012 at 05:50:36AM +0100, Preeti U Murthy wrote: Hi everyone, This patchset uses the per-entity-load-tracking patchset which will soon be available in the kernel.It is based on the tip/master

[RFC PATCH 1/2] sched: Force migration on a better cpu

2013-03-25 Thread Morten Rasmussen
to migrate to a cpu with higher compute capacity to improve performance for demanding tasks. Signed-off-by: Vincent Guittot vincent.guit...@linaro.org Signed-off-by: Morten Rasmussen morten.rasmus...@arm.com --- kernel/sched/fair.c | 36 +++- 1 file changed, 35

[RFC PATCH 2/2] sched: Pull tasks from cpus with multiple tasks when idle

2013-03-25 Thread Morten Rasmussen
on each high cpu_power cpu. This is not optimal use of the available compute resources. Placing one task on each cpu before adding more to any of the high cpu_power cpus should generally give a better overall throughput regardless of the cpu_power of the cpus. Signed-off-by: Morten Rasmussen

Re: [PATCH v3 16/22] sched: add power aware scheduling in fork/exec/wake

2013-01-16 Thread Morten Rasmussen
On Wed, Jan 16, 2013 at 06:02:21AM +, Alex Shi wrote: On 01/15/2013 12:09 AM, Morten Rasmussen wrote: On Fri, Jan 11, 2013 at 07:08:45AM +, Alex Shi wrote: On 01/10/2013 11:01 PM, Morten Rasmussen wrote: On Sat, Jan 05, 2013 at 08:37:45AM +, Alex Shi wrote: This patch add

Re: [PATCH v3 17/22] sched: packing small tasks in wake/exec balancing

2013-01-16 Thread Morten Rasmussen
On Wed, Jan 16, 2013 at 07:32:49AM +, Alex Shi wrote: On 01/15/2013 01:00 AM, Morten Rasmussen wrote: Why multiply rq-util by nr_running? Let's take an example where rq-util = 50, nr_running = 2, and putil = 10. In this case the value of putil doesn't really matter as vacancy

[RFC PATCH 01/10] sched: entity load-tracking load_avg_ratio

2012-09-21 Thread morten . rasmussen
From: Morten Rasmussen morten.rasmus...@arm.com This patch adds load_avg_ratio to each task. The load_avg_ratio is a variant of load_avg_contrib which is not scaled by the task priority. It is calculated like this: runnable_avg_sum * NICE_0_LOAD / (runnable_avg_period + 1). Signed-off

[RFC PATCH 00/10] sched: Task placement for heterogeneous MP systems

2012-09-21 Thread morten . rasmussen
From: Morten Rasmussen morten.rasmus...@arm.com Hi Paul, Paul, Peter, Suresh, linaro-sched-sig, and LKML, As a follow-up on my Linux Plumbers Conference talk about my experiments with scheduling on heterogeneous systems I'm posting a proof-of-concept patch set with my modifications

[RFC PATCH 08/10] sched: Add ftrace events for entity load-tracking

2012-09-21 Thread morten . rasmussen
From: Morten Rasmussen morten.rasmus...@arm.com Adds ftrace events for key variables related to the entity load-tracking to help debugging scheduler behaviour. Allows tracing of load contribution and runqueue residency ratio for both entities and runqueues as well as entity CPU usage ratio

[RFC PATCH 09/10] sched: Add HMP task migration ftrace event

2012-09-21 Thread morten . rasmussen
From: Morten Rasmussen morten.rasmus...@arm.com Adds ftrace event for tracing task migrations using HMP optimized scheduling. Signed-off-by: Morten Rasmussen morten.rasmus...@arm.com --- include/trace/events/sched.h | 28 kernel/sched/fair.c | 15

[RFC PATCH 07/10] ARM: sched: Setup SCHED_HMP domains

2012-09-21 Thread morten . rasmussen
From: Morten Rasmussen morten.rasmus...@arm.com SCHED_HMP requires the different cpu types to be represented by an ordered list of hmp_domains. Each hmp_domain represents all cpus of a particular type using a cpumask. The list is platform specific and therefore must be generated by platform code

[RFC PATCH 05/10] ARM: Add HMP scheduling support for ARM architecture

2012-09-21 Thread morten . rasmussen
From: Morten Rasmussen morten.rasmus...@arm.com Adds Kconfig entries to enable HMP scheduling on ARM platforms. Currently, it disables CPU level sched_domain load-balacing in order to simplify things. This needs fixing in a later revision. HMP scheduling will do the load-balancing at this level

[RFC PATCH 06/10] ARM: sched: Use device-tree to provide fast/slow CPU list for HMP

2012-09-21 Thread morten . rasmussen
From: Morten Rasmussen morten.rasmus...@arm.com We can't rely on Kconfig options to set the fast and slow CPU lists for HMP scheduling if we want a single kernel binary to support multiple devices with different CPU topology. E.g. TC2 (ARM's Test-Chip-2 big.LITTLE system), Fast Models, or even

[RFC PATCH 04/10] sched: Introduce priority-based task migration filter

2012-09-21 Thread morten . rasmussen
From: Morten Rasmussen morten.rasmus...@arm.com Introduces a priority threshold which prevents low priority task from migrating to faster hmp_domains (cpus). This is useful for user-space software which assigns lower task priority to background task. Signed-off-by: Morten Rasmussen morten.rasmus

[RFC PATCH 02/10] sched: Task placement for heterogeneous systems based on task load-tracking

2012-09-21 Thread morten . rasmussen
From: Morten Rasmussen morten.rasmus...@arm.com This patch introduces the basic SCHED_HMP infrastructure. Each class of cpus is represented by a hmp_domain and tasks will only be moved between these domains when their load profiles suggest it is beneficial. SCHED_HMP relies heavily on the task

[RFC PATCH 03/10] sched: Forced task migration on heterogeneous systems

2012-09-21 Thread morten . rasmussen
From: Morten Rasmussen morten.rasmus...@arm.com This patch introduces forced task migration for moving suitable currently running tasks between hmp_domains. Task behaviour is likely to change over time. Tasks running in a less capable hmp_domain may change to become more demanding and should

[RFC PATCH 10/10] sched: SCHED_HMP multi-domain task migration control

2012-09-21 Thread morten . rasmussen
From: Morten Rasmussen morten.rasmus...@arm.com We need a way to prevent tasks that are migrating up and down the hmp_domains from migrating straight on through before the load has adapted to the new compute capacity of the CPU on the new hmp_domain. This patch adds a next up/down migration delay

Re: [discussion]sched: a rough proposal to enable power saving in scheduler

2012-08-16 Thread Morten Rasmussen
Hi all, On Wed, Aug 15, 2012 at 12:05:38PM +0100, Peter Zijlstra wrote: sub proposal: 1, If it's possible to balance task on idlest cpu not appointed 'balance cpu'. If so, it may can reduce one more time balancing. The idlest cpu can prefer the new idle cpu; and is the least load cpu;

Re: [RFC 3/6] sched: pack small tasks

2012-11-20 Thread Morten Rasmussen
Hi Vincent, On Mon, Nov 12, 2012 at 01:51:00PM +, Vincent Guittot wrote: On 9 November 2012 18:13, Morten Rasmussen morten.rasmus...@arm.com wrote: Hi Vincent, I have experienced suboptimal buddy selection on a dual cluster setup (ARM TC2) if SD_SHARE_POWERLINE is enabled at MC level

Re: [PATCH v3 17/22] sched: packing small tasks in wake/exec balancing

2013-01-10 Thread Morten Rasmussen
On Sat, Jan 05, 2013 at 08:37:46AM +, Alex Shi wrote: If the wake/exec task is small enough, utils 12.5%, it will has the chance to be packed into a cpu which is busy but still has space to handle it. Signed-off-by: Alex Shi alex@intel.com --- kernel/sched/fair.c | 51

Re: [PATCH v3 05/22] sched: remove domain iterations in fork/exec/wake

2013-01-11 Thread Morten Rasmussen
On Fri, Jan 11, 2013 at 02:46:31AM +, Alex Shi wrote: On 01/10/2013 02:21 AM, Morten Rasmussen wrote: new_cpu = find_idlest_cpu(group, p, cpu); - -/* Now try balancing at a lower domain level of new_cpu */ -cpu = new_cpu

Re: [PATCH v3 05/22] sched: remove domain iterations in fork/exec/wake

2013-01-11 Thread Morten Rasmussen
Hi Preeti, On Fri, Jan 11, 2013 at 04:56:09AM +, Preeti U Murthy wrote: Hi Morten,Alex On 01/09/2013 11:51 PM, Morten Rasmussen wrote: On Sat, Jan 05, 2013 at 08:37:34AM +, Alex Shi wrote: Guess the search cpu from bottom to up in domain tree come from commit 3dbd5342074a1e

Re: [PATCH v3 11/22] sched: consider runnable load average in effective_load

2013-01-14 Thread Morten Rasmussen
On Fri, Jan 11, 2013 at 03:26:59AM +, Alex Shi wrote: On 01/10/2013 07:28 PM, Morten Rasmussen wrote: On Sat, Jan 05, 2013 at 08:37:40AM +, Alex Shi wrote: effective_load calculates the load change as seen from the root_task_group. It needs to multiple cfs_rq's tg_runnable_contrib

Re: [PATCH v3 15/22] sched: log the cpu utilization at rq

2013-01-14 Thread Morten Rasmussen
On Fri, Jan 11, 2013 at 03:30:30AM +, Alex Shi wrote: On 01/10/2013 07:40 PM, Morten Rasmussen wrote: #undef P64 diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index ee015b8..7bfbd69 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -1495,8 +1495,12

Re: [PATCH v3 16/22] sched: add power aware scheduling in fork/exec/wake

2013-01-14 Thread Morten Rasmussen
On Fri, Jan 11, 2013 at 07:08:45AM +, Alex Shi wrote: On 01/10/2013 11:01 PM, Morten Rasmussen wrote: On Sat, Jan 05, 2013 at 08:37:45AM +, Alex Shi wrote: This patch add power aware scheduling in fork/exec/wake. It try to select cpu from the busiest while still has utilization

Re: [PATCH v3 17/22] sched: packing small tasks in wake/exec balancing

2013-01-14 Thread Morten Rasmussen
On Fri, Jan 11, 2013 at 03:47:03AM +, Alex Shi wrote: On 01/11/2013 01:17 AM, Morten Rasmussen wrote: On Sat, Jan 05, 2013 at 08:37:46AM +, Alex Shi wrote: If the wake/exec task is small enough, utils 12.5%, it will has the chance to be packed into a cpu which is busy but still has

Re: [PATCH V3 0/22] sched: simplified fork, enable load average into LB and power awareness scheduling

2013-01-09 Thread Morten Rasmussen
Hi Alex, On Sat, Jan 05, 2013 at 08:37:29AM +, Alex Shi wrote: The patch set base on Linus tree, includes 3 parts, 1, bug fix and fork/wake balancing clean up. patch 1~6, the first patch remove one domain level. patch 2~6 simplified fork/wake balancing, it can increase 10+% hackbench

Re: [PATCH v3 04/22] sched: don't need go to smaller sched domain

2013-01-09 Thread Morten Rasmussen
On Sat, Jan 05, 2013 at 08:37:33AM +, Alex Shi wrote: If parent sched domain has no task allowed cpu find. neither find in it's child. So, go out to save useless checking. Signed-off-by: Alex Shi alex@intel.com --- kernel/sched/fair.c | 6 ++ 1 file changed, 2 insertions(+), 4

Re: [PATCH v3 05/22] sched: remove domain iterations in fork/exec/wake

2013-01-09 Thread Morten Rasmussen
On Sat, Jan 05, 2013 at 08:37:34AM +, Alex Shi wrote: Guess the search cpu from bottom to up in domain tree come from commit 3dbd5342074a1e sched: multilevel sbe sbf, the purpose is balancing over tasks on all level domains. This balancing cost much if there has many domain/groups in a

Re: [PATCH v3 11/22] sched: consider runnable load average in effective_load

2013-01-10 Thread Morten Rasmussen
On Sat, Jan 05, 2013 at 08:37:40AM +, Alex Shi wrote: effective_load calculates the load change as seen from the root_task_group. It needs to multiple cfs_rq's tg_runnable_contrib when we turn to runnable load average balance. Signed-off-by: Alex Shi alex@intel.com ---

Re: [PATCH v3 15/22] sched: log the cpu utilization at rq

2013-01-10 Thread Morten Rasmussen
On Sat, Jan 05, 2013 at 08:37:44AM +, Alex Shi wrote: The cpu's utilization is to measure how busy is the cpu. util = cpu_rq(cpu)-avg.runnable_avg_sum / cpu_rq(cpu)-avg.runnable_avg_period; Since the util is no more than 1, we use its percentage value in later

Re: [PATCH v3 16/22] sched: add power aware scheduling in fork/exec/wake

2013-01-10 Thread Morten Rasmussen
On Sat, Jan 05, 2013 at 08:37:45AM +, Alex Shi wrote: This patch add power aware scheduling in fork/exec/wake. It try to select cpu from the busiest while still has utilization group. That's will save power for other groups. The trade off is adding a power aware statistics collection in

Re: [RFC][PATCH 0/9] sched: Power scheduler design proposal

2013-07-25 Thread Morten Rasmussen
On Wed, Jul 24, 2013 at 05:48:42PM +0100, Arjan van de Ven wrote: I would expect performance to be disjoint for most tasks. If there was an overlap, the big would probably be less power efficient (as in energy/instruction) than the little so you would prefer to run on the little anyway.

Re: [RFC][PATCH 1/9] sched: Introduce power scheduler

2013-07-10 Thread Morten Rasmussen
On Wed, Jul 10, 2013 at 03:10:15AM +0100, Arjan van de Ven wrote: On 7/9/2013 8:55 AM, Morten Rasmussen wrote: + mod_delayed_work_on(schedule_cpu(), system_wq, dwork, + msecs_to_jiffies(INTERVAL)); so thinking about this more, this really really should

Re: [RFC][PATCH 0/9] sched: Power scheduler design proposal

2013-07-10 Thread Morten Rasmussen
On Tue, Jul 09, 2013 at 05:58:55PM +0100, Arjan van de Ven wrote: On 7/9/2013 8:55 AM, Morten Rasmussen wrote: Hi, This patch set is an initial prototype aiming at the overall power-aware scheduler design proposal that I previously described http://permalink.gmane.org/gmane.linux.kernel

Re: [RFC][PATCH 0/9] sched: Power scheduler design proposal

2013-07-12 Thread Morten Rasmussen
On Wed, Jul 10, 2013 at 02:05:00PM +0100, Arjan van de Ven wrote: also, it almost looks like there is a fundamental assumption in the code that you can get the current effective P state to make scheduler decisions on; on Intel at least that is basically impossible... and getting

Re: [RFC][PATCH 8/9] sched: power: Add initial frequency scaling support to power scheduler

2013-07-12 Thread Morten Rasmussen
On Wed, Jul 10, 2013 at 02:10:59PM +0100, Arjan van de Ven wrote: On 7/9/2013 8:55 AM, Morten Rasmussen wrote: Extends the power scheduler capacity management algorithm to handle frequency scaling and provide basic frequency/P-state selection hints to the power driver. Signed-off

Re: [RFC][PATCH 0/9] sched: Power scheduler design proposal

2013-07-12 Thread Morten Rasmussen
On Thu, Jul 11, 2013 at 12:34:49PM +0100, Preeti U Murthy wrote: Hi Morten, I have a few quick comments. On 07/09/2013 10:28 PM, Arjan van de Ven wrote: On 7/9/2013 8:55 AM, Morten Rasmussen wrote: Hi, This patch set is an initial prototype aiming at the overall power-aware

Re: power-efficient scheduling design

2013-06-18 Thread Morten Rasmussen
On Tue, Jun 18, 2013 at 02:37:21AM +0100, David Lang wrote: On Fri, 14 Jun 2013, Morten Rasmussen wrote: Looking at the discussion it seems that people have slightly different views, but most agree that the goal is an integrated scheduling, frequency, and idle policy like you pointed

Re: power-efficient scheduling design

2013-06-19 Thread Morten Rasmussen
On Tue, Jun 18, 2013 at 06:39:27PM +0100, David Lang wrote: On Tue, 18 Jun 2013, Morten Rasmussen wrote: I don't think that you are passing nearly enough information around. A fairly simple example take a relatively modern 4-core system with turbo mode where speed controls affect

Re: power-efficient scheduling design

2013-06-19 Thread Morten Rasmussen
On Wed, Jun 19, 2013 at 04:39:39PM +0100, Arjan van de Ven wrote: On 6/18/2013 10:47 AM, David Lang wrote: It's bad enough trying to guess the needs of the processes, but if you also are reduced to guessing the capabilities of the cores, how can anything be made to work? btw one

Re: [patch v8 3/9] sched: set initial value of runnable avg for new forked task

2013-06-20 Thread Morten Rasmussen
load_avg_contrib. Further more, Morten Rasmussen notice some tasks were not launched at once after created. So Paul and Peter suggest giving a start value for new task runnable avg time same as sched_slice(). I am confused at this comment, how set slice to runnable avg would change

Re: power-efficient scheduling design

2013-06-21 Thread Morten Rasmussen
On Wed, Jun 19, 2013 at 06:08:29PM +0100, Arjan van de Ven wrote: On 6/19/2013 10:00 AM, Morten Rasmussen wrote: On Wed, Jun 19, 2013 at 04:39:39PM +0100, Arjan van de Ven wrote: On 6/18/2013 10:47 AM, David Lang wrote: It's bad enough trying to guess the needs of the processes

Re: power-efficient scheduling design

2013-06-21 Thread Morten Rasmussen
On Tue, Jun 18, 2013 at 04:20:28PM +0100, Arjan van de Ven wrote: On 6/14/2013 9:05 AM, Morten Rasmussen wrote: Looking at the discussion it seems that people have slightly different views, but most agree that the goal is an integrated scheduling, frequency, and idle policy like you

Re: Bench for testing scheduler

2013-11-07 Thread Morten Rasmussen
Hi Vincent, On Thu, Nov 07, 2013 at 10:54:30AM +, Vincent Guittot wrote: Hi, During the Energy-aware scheduling mini-summit, we spoke about benches that should be used to evaluate the modifications of the scheduler. I’d like to propose a bench that uses cyclictest to measure the wake

Re: [RFC][PATCH 4/7] sched: power: Remove power capacity hints for kworker threads

2013-10-17 Thread Morten Rasmussen
On Mon, Oct 14, 2013 at 04:14:25PM +0100, Arjan van de Ven wrote: On 10/14/2013 6:33 AM, Peter Zijlstra wrote: On Fri, Oct 11, 2013 at 06:19:14PM +0100, Morten Rasmussen wrote: Removing power hints for kworker threads enables easier use of workqueues in the power driver late callback

Re: [RFC][PATCH 4/7] sched: power: Remove power capacity hints for kworker threads

2013-10-18 Thread Morten Rasmussen
On Thu, Oct 17, 2013 at 05:54:16PM +0100, Peter Zijlstra wrote: On Thu, Oct 17, 2013 at 05:40:38PM +0100, Morten Rasmussen wrote: On Mon, Oct 14, 2013 at 04:14:25PM +0100, Arjan van de Ven wrote: On 10/14/2013 6:33 AM, Peter Zijlstra wrote: On Fri, Oct 11, 2013 at 06:19:14PM +0100

Re: [RFC][PATCH 4/7] sched: power: Remove power capacity hints for kworker threads

2013-10-18 Thread Morten Rasmussen
On Thu, Oct 17, 2013 at 06:18:38PM +0100, Arjan van de Ven wrote: cpufreq has pre- and post-change notifiers so the current TC2 clock driver yeah those are EVIL ;-) waits (yields) in its clk_set_rate() implementation until the change has happened to ensure that the post-change

[RFC][PATCH 5/7] sched: power: Increase cpu capacity based on rq tracked load

2013-10-11 Thread Morten Rasmussen
tracked load is high the cpu is busy even if the weighted_cpuload() should indicate otherwise. Signed-off-by: Morten Rasmussen morten.rasmus...@arm.com --- kernel/sched/fair.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/kernel/sched/fair.c b/kernel/sched

[RFC][PATCH 2/7] sched: power: Power driver late callback interface

2013-10-11 Thread Morten Rasmussen
Adds a late callback to the power driver interface which is called with irq enabled and no locks held. The power driver may postpone work that can't be done in schedule context (irq disabled and rq locks held) and let the late callback handle it. Signed-off-by: Morten Rasmussen morten.rasmus

[RFC][PATCH 0/7] Power-aware scheduling v2

2013-10-11 Thread Morten Rasmussen
-power-efficient-scheduling [3] http://www.linuxplumbersconf.org/2013/ocw//system/presentations/1263/original/Unifying_Power_Policies_LPC.pdf [4] http://git.linaro.org/gitweb?p=kernel/linux-linaro-tracking.git Morten Rasmussen (7): Initial power driver interface infrastructure sched: power

[RFC][PATCH 4/7] sched: power: Remove power capacity hints for kworker threads

2013-10-11 Thread Morten Rasmussen
Removing power hints for kworker threads enables easier use of workqueues in the power driver late callback. That would otherwise lead to an endless loop unless it is prevented in the power driver. Signed-off-by: Morten Rasmussen morten.rasmus...@arm.com --- kernel/sched/fair.c | 20

[RFC][PATCH 7/7] sched: power: Let the power driver choose the best wake-up cpu

2013-10-11 Thread Morten Rasmussen
Adds best_wake_cpu() to the power driver interface allowing the power driver to influence which cpu will be woken up when additional cpus are needed. Currently only a place holder until idle interface is in place. Signed-off-by: Morten Rasmussen morten.rasmus...@arm.com --- drivers/cpufreq

[RFC][PATCH 6/7] sched: power: cpufreq: Initial schedpower cpufreq governor/power driver

2013-10-11 Thread Morten Rasmussen
in mind should be able to avoid such work-arounds. schedpower has been tested (not thoroughly) on ARM TC2. Signed-off-by: Morten Rasmussen morten.rasmus...@arm.com --- drivers/cpufreq/Kconfig | 11 ++ drivers/cpufreq/Makefile |1 + drivers/cpufreq/cpufreq_schedpower.c

[RFC][PATCH 3/7] sched: power: go_faster/slower power driver hints

2013-10-11 Thread Morten Rasmussen
is needed. The power driver may ignore this and the go_faster/slower call completely. Signed-off-by: Morten Rasmussen morten.rasmus...@arm.com --- kernel/sched/fair.c | 30 ++ kernel/sched/sched.h | 18 ++ 2 files changed, 48 insertions(+) diff --git

[RFC][PATCH 1/7] Initial power driver interface infrastructure

2013-10-11 Thread Morten Rasmussen
Infrastructure for power driver registration and defines three initial power driver interface calls: go_faster(), go_slower(), and at_max_capacity(). The intention is to use these to guide scheduling decisions and frequency state selection in the power driver. Signed-off-by: Morten Rasmussen

Re: [RFC][PATCH 3/7] sched: power: go_faster/slower power driver hints

2013-10-14 Thread Morten Rasmussen
Hi Michael, On Sat, Oct 12, 2013 at 03:58:07AM +0100, Michael wang wrote: Hi, Morten On 10/12/2013 01:19 AM, Morten Rasmussen wrote: [snip] @@ -5743,6 +5772,7 @@ static void run_rebalance_domains(struct softirq_action *h) */ nohz_idle_balance(this_cpu, idle

Re: [RFC][PATCH 3/7] sched: power: go_faster/slower power driver hints

2013-10-14 Thread Morten Rasmussen
On Mon, Oct 14, 2013 at 02:48:09PM +0100, Peter Zijlstra wrote: On Fri, Oct 11, 2013 at 06:19:13PM +0100, Morten Rasmussen wrote: +static inline void inc_cpu_capacity(int cpu) +{ + if (weighted_cpuload(cpu) power_of(cpu)) + go_faster(cpu, 0); +} + +static inline void

Re: [RFC][PATCH 4/7] sched: power: Remove power capacity hints for kworker threads

2013-10-14 Thread Morten Rasmussen
On Mon, Oct 14, 2013 at 02:33:56PM +0100, Peter Zijlstra wrote: On Fri, Oct 11, 2013 at 06:19:14PM +0100, Morten Rasmussen wrote: Removing power hints for kworker threads enables easier use of workqueues in the power driver late callback. That would otherwise lead to an endless loop unless

Re: [RFC][PATCH 0/7] Power-aware scheduling v2

2013-10-14 Thread Morten Rasmussen
On Mon, Oct 14, 2013 at 02:32:34PM +0100, Peter Zijlstra wrote: On Fri, Oct 11, 2013 at 06:19:10PM +0100, Morten Rasmussen wrote: Hi, I have revised the previous power scheduler proposal[1] trying to address as many of the comments as possible. The overall idea was discussed at LPC

Re: [RFC][PATCH 4/7] sched: power: Remove power capacity hints for kworker threads

2013-10-14 Thread Morten Rasmussen
On Mon, Oct 14, 2013 at 05:13:11PM +0100, Arjan van de Ven wrote: On 10/14/2013 9:10 AM, Morten Rasmussen wrote: On Mon, Oct 14, 2013 at 02:33:56PM +0100, Peter Zijlstra wrote: On Fri, Oct 11, 2013 at 06:19:14PM +0100, Morten Rasmussen wrote: Removing power hints for kworker threads enables

Re: [RFC][PATCH 0/7] Power-aware scheduling v2

2013-10-15 Thread Morten Rasmussen
On Mon, Oct 14, 2013 at 06:31:13PM +0100, Peter Zijlstra wrote: On Mon, Oct 14, 2013 at 06:15:41PM +0100, Morten Rasmussen wrote: In fact, I don't see anything except a random bunch of hooks without an over-all picture of how to get less power used. I will follow up with a better

Re: [RFC][PATCH v5 00/14] sched: packing tasks

2013-11-11 Thread Morten Rasmussen
On Mon, Nov 11, 2013 at 11:33:45AM +, Catalin Marinas wrote: Hi Vincent, (cross-posting to linux-pm as it was agreed to follow up on this list) On 18 October 2013 12:52, Vincent Guittot vincent.guit...@linaro.org wrote: This is the 5th version of the previously named packing small

Re: [RFC][PATCH v5 00/14] sched: packing tasks

2013-11-12 Thread Morten Rasmussen
On Mon, Nov 11, 2013 at 06:18:05PM +, Catalin Marinas wrote: On Mon, Nov 11, 2013 at 04:39:45PM +, Arjan van de Ven wrote: having a hardware driver give a prefered CPU ordering for wakes can indeed be useful. (I'm doubtful that changing the recommendation for each idle is going to

Re: [RFC][PATCH v5 01/14] sched: add a new arch_sd_local_flags for sched_domain init

2013-11-14 Thread Morten Rasmussen
On Wed, Nov 13, 2013 at 04:29:19PM +, Peter Zijlstra wrote: On Wed, Nov 13, 2013 at 03:47:16PM +, Dietmar Eggemann wrote: On 12/11/13 18:08, Peter Zijlstra wrote: On Tue, Nov 12, 2013 at 05:43:36PM +, Dietmar Eggemann wrote: This patch removes the sched_domain initializer

Re: [PATCH v2 1/3] nohz_full: fix code sytle issue of tick_nohz_full_stop_tick

2013-12-03 Thread Morten Rasmussen
In subject: s/sytle/style/ On Tue, Dec 03, 2013 at 12:35:10PM +, Alex Shi wrote: Code usually starts with 'tab' instead of 7 'space'es in kernel Signed-off-by: Alex Shi alex@linaro.org --- kernel/time/tick-sched.c | 16 1 file changed, 8 insertions(+), 8

Re: [RFC] Splitting scheduler into two halves

2014-02-28 Thread Morten Rasmussen
Hi Yuyang, On Fri, Feb 28, 2014 at 02:13:32AM +, Du, Yuyang wrote: Hi Peter/Ingo and all, With the advent of more cores and heterogeneous architectures, the scheduler is required to be more complex (power efficiency) and diverse (big.little). For the scheduler to address that challenge

Re: [3/11] issue 3: No understanding of potential cpu capacity

2014-01-14 Thread Morten Rasmussen
On Mon, Jan 13, 2014 at 09:07:12PM +, Rafael J. Wysocki wrote: On Tuesday, January 07, 2014 04:19:39 PM Morten Rasmussen wrote: To minimize energy it may sometimes be better to put waking tasks on partially loaded cpus instead of powering up more cpus (particularly if it implies

[PATCH] sched: Fix select_task_rq_fair() description comments

2014-02-18 Thread Morten Rasmussen
Brings select_task_rq_fair() description comments up-to-date. Cc: Ingo Molnar mi...@redhat.com Cc: Peter Zijlstra pet...@infradead.org Signed-off-by: Morten Rasmussen morten.rasmus...@arm.com --- kernel/sched/fair.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git

Re: [PATCH v5 3/7] sched: set initial value of runnable avg for new forked task

2013-05-07 Thread Morten Rasmussen
On Tue, May 07, 2013 at 04:06:33AM +0100, Paul Turner wrote: On Mon, May 6, 2013 at 7:18 PM, Alex Shi alex@intel.com wrote: On 05/06/2013 06:17 PM, Paul Turner wrote: Rather than exposing the representation of load_avg_contrib to __sched_fork it might also be better to call:

Re: [PATCH v5 3/7] sched: set initial value of runnable avg for new forked task

2013-05-09 Thread Morten Rasmussen
On Wed, May 08, 2013 at 01:00:34PM +0100, Paul Turner wrote: On Wed, May 8, 2013 at 4:34 AM, Peter Zijlstra pet...@infradead.org wrote: On Tue, May 07, 2013 at 04:20:55AM -0700, Paul Turner wrote: Yes, 1024 was only intended as a starting point. We could also arbitrarily pick something

Re: power-efficient scheduling design

2013-06-14 Thread Morten Rasmussen
Hi, On Fri, May 31, 2013 at 11:52:04AM +0100, Ingo Molnar wrote: * Morten Rasmussen morten.rasmus...@arm.com wrote: Hi, A number of patch sets related to power-efficient scheduling have been posted over the last couple of months. Most of them do not have much data to back them

Re: power-efficient scheduling design

2013-06-04 Thread Morten Rasmussen
On Fri, May 31, 2013 at 11:52:04AM +0100, Ingo Molnar wrote: * Morten Rasmussen morten.rasmus...@arm.com wrote: Hi, A number of patch sets related to power-efficient scheduling have been posted over the last couple of months. Most of them do not have much data to back them up, so

[RFC] Comparison of power-efficient scheduling patch sets

2013-05-30 Thread Morten Rasmussen
Hi, A number of patch sets related to power-efficient scheduling have been posted over the last couple of months. Most of them do not have much data to back them up, so I decided to do some testing. Common for all of the patch sets that I have tested, except one, is that they attempt to pack

Re: [patch v7 7/8] sched: consider runnable load average in move_tasks

2013-05-31 Thread Morten Rasmussen
On Thu, May 30, 2013 at 08:02:03AM +0100, Alex Shi wrote: Except using runnable load average in background, move_tasks is also the key functions in load balance. We need consider the runnable load average in it in order to the apple to apple load comparison. Signed-off-by: Alex Shi

Re: [PATCH 11/14] sched: filter task pull request

2013-05-22 Thread Morten Rasmussen
On Fri, Apr 26, 2013 at 11:00:58AM +0100, Vincent Guittot wrote: Part of this patch is missing, the fix below is needed @@ -3497,7 +3497,9 @@ static bool is_buddy_full(int cpu) static bool is_my_buddy(int cpu, int buddy) { int my_buddy = per_cpu(sd_pack_buddy, cpu); - return (my_buddy

[RFC][PATCH 0/9] sched: Power scheduler design proposal

2013-07-09 Thread Morten Rasmussen
scheduler to drive P-state selection. The prototype policy is absolutely untuned, but this will be addressed in the future. Scalability improvements, such as avoid iterating over all cpus, will also be addressed in the future. Thanks, Morten Morten Rasmussen (9): sched: Introduce power scheduler sched

[RFC][PATCH 2/9] sched: Redirect update_cpu_power to sched/power.c

2013-07-09 Thread Morten Rasmussen
With CONFIG_SCHED_POWER enabled, update_cpu_power() gets the capacity managed cpu_power from the power scheduler instead of arch_scale_freq_power(). Signed-off-by: Morten Rasmussen morten.rasmus...@arm.com CC: Ingo Molnar mi...@kernel.org CC: Peter Zijlstra pet...@infradead.org CC: Catalin

[RFC][PATCH 3/9] sched: Make select_idle_sibling() skip cpu with a cpu_power of 1

2013-07-09 Thread Morten Rasmussen
select_idle_sibling() must disregard cpus with cpu_power=1 to avoid using cpus disabled by the power scheduler. This is a quick fix. The algorithm should be updated to handle cpu_power=1 properly. Signed-off-by: Morten Rasmussen morten.rasmus...@arm.com CC: Ingo Molnar mi...@kernel.org CC: Peter

[RFC][PATCH 7/9] sched: power: Add power driver interface

2013-07-09 Thread Morten Rasmussen
-by: Morten Rasmussen morten.rasmus...@arm.com CC: Ingo Molnar mi...@kernel.org CC: Peter Zijlstra pet...@infradead.org CC: Catalin Marinas catalin.mari...@arm.com --- include/linux/sched/power.h | 29 + kernel/sched/power.c| 42

[RFC][PATCH 5/9] sched: Make idle_balance() skip cpus with a cpu_power of 1

2013-07-09 Thread Morten Rasmussen
idle_balance() should disregard cpus disabled by the power scheduler. This is a quick fix. idle_balance() should be revisit to implement proper handling of cpus with cpu_power=1. Signed-off-by: Morten Rasmussen morten.rasmus...@arm.com CC: Ingo Molnar mi...@kernel.org CC: Peter Zijlstra pet

[RFC][PATCH 8/9] sched: power: Add initial frequency scaling support to power scheduler

2013-07-09 Thread Morten Rasmussen
Extends the power scheduler capacity management algorithm to handle frequency scaling and provide basic frequency/P-state selection hints to the power driver. Signed-off-by: Morten Rasmussen morten.rasmus...@arm.com CC: Ingo Molnar mi...@kernel.org CC: Peter Zijlstra pet...@infradead.org CC

[RFC][PATCH 6/9] sched: power: add power_domain data structure

2013-07-09 Thread Morten Rasmussen
selection. Signed-off-by: Morten Rasmussen morten.rasmus...@arm.com CC: Ingo Molnar mi...@kernel.org CC: Peter Zijlstra pet...@infradead.org CC: Catalin Marinas catalin.mari...@arm.com --- kernel/sched/power.c | 133 +- 1 file changed, 110 insertions

[RFC][PATCH 4/9] sched: Make periodic load-balance disregard cpus with a cpu_power of 1

2013-07-09 Thread Morten Rasmussen
-off-by: Morten Rasmussen morten.rasmus...@arm.com CC: Ingo Molnar mi...@kernel.org CC: Peter Zijlstra pet...@infradead.org CC: Catalin Marinas catalin.mari...@arm.com --- kernel/sched/fair.c | 12 1 file changed, 12 insertions(+) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c

[RFC][PATCH 1/9] sched: Introduce power scheduler

2013-07-09 Thread Morten Rasmussen
-off-by: Morten Rasmussen morten.rasmus...@arm.com CC: Ingo Molnar mi...@kernel.org CC: Peter Zijlstra pet...@infradead.org CC: Catalin Marinas catalin.mari...@arm.com --- arch/arm/Kconfig |2 + kernel/Kconfig.power |3 + kernel/sched/Makefile |1 + kernel/sched/power.c | 161

[RFC][PATCH 9/9] sched: power: cpufreq: Initial schedpower cpufreq governor

2013-07-09 Thread Morten Rasmussen
Adds a 'schedpower' cpufreq governor that acts as a cpufreq driver wrapper for the power scheduler. This enables the power scheduler to initially use existing cpufreq drivers during development. The long term plan is platform specific unified power drivers. Signed-off-by: Morten Rasmussen

Re: [RFC][PATCH 0/9] sched: Power scheduler design proposal

2013-07-24 Thread Morten Rasmussen
On Sat, Jul 13, 2013 at 07:49:09AM +0100, Peter Zijlstra wrote: On Tue, Jul 09, 2013 at 04:55:29PM +0100, Morten Rasmussen wrote: Hi, This patch set is an initial prototype aiming at the overall power-aware scheduler design proposal that I previously described http

Re: [RFC][PATCH 0/9] sched: Power scheduler design proposal

2013-07-24 Thread Morten Rasmussen
On Wed, Jul 17, 2013 at 03:14:26PM +0100, Catalin Marinas wrote: On Tue, Jul 16, 2013 at 04:23:08PM +0100, Arjan van de Ven wrote: On 7/16/2013 5:42 AM, Catalin Marinas wrote: Morten's power scheduler tries to address the above and it will grow into controlling a new model of power driver

Re: [RFC][PATCH 0/9] sched: Power scheduler design proposal

2013-07-24 Thread Morten Rasmussen
On Wed, Jul 24, 2013 at 04:16:36PM +0100, Arjan van de Ven wrote: Given that the power topology is taken into account, a sort left/right-like mechanism would only help performance insensitive tasks on big.LITTLE. Performance sensitive tasks that each can use more than a little cpu should

Re: [RFC PATCH 01/16] sched: Documentation for scheduler energy cost model

2014-06-05 Thread Morten Rasmussen
On Thu, Jun 05, 2014 at 09:49:35AM +0100, Vincent Guittot wrote: Hi Morten, On 23 May 2014 20:16, Morten Rasmussen morten.rasmus...@arm.com wrote: This documentation patch provide a brief overview of the experimental scheduler energy costing model and associated data structures. Signed

Re: [RFC PATCH 06/16] arm: topology: Define TC2 sched energy and provide it to scheduler

2014-06-06 Thread Morten Rasmussen
On Wed, Jun 04, 2014 at 06:27:12PM +0100, Peter Zijlstra wrote: On Wed, Jun 04, 2014 at 05:02:30PM +0100, Morten Rasmussen wrote: On Tue, Jun 03, 2014 at 12:50:15PM +0100, Peter Zijlstra wrote: On Fri, May 23, 2014 at 07:16:33PM +0100, Morten Rasmussen wrote: +static struct

Re: [RFC PATCH 06/16] arm: topology: Define TC2 sched energy and provide it to scheduler

2014-06-06 Thread Morten Rasmussen
On Wed, Jun 04, 2014 at 05:16:18PM +0100, Peter Zijlstra wrote: On Wed, Jun 04, 2014 at 04:42:27PM +0100, Morten Rasmussen wrote: On Tue, Jun 03, 2014 at 12:44:28PM +0100, Peter Zijlstra wrote: On Fri, May 23, 2014 at 07:16:33PM +0100, Morten Rasmussen wrote: +static struct

Re: [RFC PATCH 06/16] arm: topology: Define TC2 sched energy and provide it to scheduler

2014-06-06 Thread Morten Rasmussen
On Fri, Jun 06, 2014 at 01:27:40PM +0100, Ingo Molnar wrote: * Ingo Molnar mi...@kernel.org wrote: * Peter Zijlstra pet...@infradead.org wrote: Voltage is combined with frequency, roughly, voltage is proportional to freuquecy, so roughly, power is proportionaly to

Re: [RFC PATCH 06/16] arm: topology: Define TC2 sched energy and provide it to scheduler

2014-06-06 Thread Morten Rasmussen
On Fri, Jun 06, 2014 at 02:43:03PM +0100, Peter Zijlstra wrote: On Fri, Jun 06, 2014 at 02:15:10PM +0100, Morten Rasmussen wrote: ARM TC2 has on-chip energy counters for counting energy consumed by the A7 and A15 clusters. They are fairly accurate. Recent Intel chips have that too

  1   2   3   4   5   6   7   8   9   10   >