Commit d5ad140b authored by Nikhil Rao's avatar Nikhil Rao Committed by Ingo Molnar

sched: Fix idle balancing

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: default avatarAlex Shi <alex.shi@intel.com>
Signed-off-by: default avatarNikhil Rao <ncrao@google.com>
Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1290022924-3548-1-git-send-email-ncrao@google.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent b5482cfa
...@@ -3215,9 +3215,11 @@ static void idle_balance(int this_cpu, struct rq *this_rq) ...@@ -3215,9 +3215,11 @@ static void idle_balance(int this_cpu, struct rq *this_rq)
interval = msecs_to_jiffies(sd->balance_interval); interval = msecs_to_jiffies(sd->balance_interval);
if (time_after(next_balance, sd->last_balance + interval)) if (time_after(next_balance, sd->last_balance + interval))
next_balance = sd->last_balance + interval; next_balance = sd->last_balance + interval;
if (pulled_task) if (pulled_task) {
this_rq->idle_stamp = 0;
break; break;
} }
}
raw_spin_lock(&this_rq->lock); raw_spin_lock(&this_rq->lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment