diff options
author | Paul Turner <[email protected]> | 2010-11-15 15:47:07 -0800 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2010-11-18 13:27:49 +0100 |
commit | c66eaf619c0c7937e9ded160ae83b5a7a6b19b56 (patch) | |
tree | 04fca9a8b4c017efa00d7e7077a1aba9d454248a | |
parent | a7a4f8a752ec734b2eab904fc863d5dc873de338 (diff) |
sched: Update shares on idle_balance
Since shares updates are no longer expensive and effectively local, update them
at idle_balance(). This allows us to more quickly redistribute shares to
another cpu when our load becomes idle.
Signed-off-by: Paul Turner <[email protected]>
Signed-off-by: Peter Zijlstra <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
-rw-r--r-- | kernel/sched_fair.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index 6c84439ce987..33f941dcf88c 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c @@ -3343,6 +3343,7 @@ static void idle_balance(int this_cpu, struct rq *this_rq) */ raw_spin_unlock(&this_rq->lock); + update_shares(this_cpu); for_each_domain(this_cpu, sd) { unsigned long interval; int balance = 1; |