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
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?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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;
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
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
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
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
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
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
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
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
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
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
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
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
---
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
-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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
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
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
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
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
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
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
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
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
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
-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
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
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
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
-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
-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
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
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
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
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
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
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
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
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
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 - 100 of 1628 matches
Mail list logo