sched: Fix idle balancing
PATCH 27/28 sched: Fix idle balancing
Commit: d5ad140bc1505a98c0f040937125bfcbb508078f upstream
Author: Nikhil Rao <[email protected]>
AuthorDate: Wed Nov 17 11:42:04 2010 -0800
An earlier commit reverts idle balancing throttling reset to fix a 30% regression in volanomark throughput. We still need to reset idle_stamp when we pull a task in newidle balance.
Reported-by Alex Shi <[email protected]>
Signed-off-by Nikhil Rao <[email protected]>
Signed-off-by Peter Zijlstra <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by Ingo Molnar <[email protected]>
Signed-off-by Mike Galbraith <[email protected]>
Acked-by Peter Zijlstra <[email protected]>
--- kernel/sched.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
kernel/sched.c +3 -1
@@ -4692,8 +4692,10 @@ static void idle_balance(int this_cpu, struct rq *this_rq) interval =msecs_to_jiffies (sd->balance_interval);if (time_after (next_balance, sd->last_balance + interval)) next_balance = sd->last_balance + interval; -if (pulled_task) +if (pulled_task) { + this_rq->idle_stamp =0 ;break ; + } }if (pulled_task ||time_after (jiffies, this_rq->next_balance)) {/*
Signature · 1 line
1.7.4