diff options
author | Jason Low <jason.low2@hp.com> | 2013-09-13 11:26:52 -0700 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2013-09-20 12:03:44 +0200 |
commit | 9bd721c55c8a886b938a45198aab0ccb52f1f7fa (patch) | |
tree | 1c47dcd9afda75ce5a1d4800da33b35076a246a9 /arch | |
parent | abfafa54db9aba404e8e6763503f04d35bd07138 (diff) | |
download | linux-9bd721c55c8a886b938a45198aab0ccb52f1f7fa.tar.gz linux-9bd721c55c8a886b938a45198aab0ccb52f1f7fa.tar.bz2 linux-9bd721c55c8a886b938a45198aab0ccb52f1f7fa.zip |
sched/balancing: Consider max cost of idle balance per sched domain
In this patch, we keep track of the max cost we spend doing idle load balancing
for each sched domain. If the avg time the CPU remains idle is less then the
time we have already spent on idle balancing + the max cost of idle balancing
in the sched domain, then we don't continue to attempt the balance. We also
keep a per rq variable, max_idle_balance_cost, which keeps track of the max
time spent on newidle load balances throughout all its domains so that we can
determine the avg_idle's max value.
By using the max, we avoid overrunning the average. This further reduces the
chance we attempt balancing when the CPU is not idle for longer than the cost
to balance.
Signed-off-by: Jason Low <jason.low2@hp.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1379096813-3032-3-git-send-email-jason.low2@hp.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/metag/include/asm/topology.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/metag/include/asm/topology.h b/arch/metag/include/asm/topology.h index 23f5118f58db..db192924f4b0 100644 --- a/arch/metag/include/asm/topology.h +++ b/arch/metag/include/asm/topology.h @@ -26,6 +26,7 @@ .last_balance = jiffies, \ .balance_interval = 1, \ .nr_balance_failed = 0, \ + .max_newidle_lb_cost = 0, \ } #define cpu_to_node(cpu) ((void)(cpu), 0) |