diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-11-26 17:27:54 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-11-26 17:27:54 -0500 |
commit | 1b065fdff1c950d96e4c571abe873a9a8aaa6d51 (patch) | |
tree | 603d792daf79ae9a0161d97191202bf5d796dc7d /kernel | |
parent | b76a1e4f2a2f95354f4567c8eb420fd4cb68fc26 (diff) | |
parent | d5ad140bc1505a98c0f040937125bfcbb508078f (diff) |
Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
sched: Fix idle balancing
sched: Fix volanomark performance regression
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sched_fair.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index 52ab113d8bb9..00ebd7686676 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c | |||
@@ -1758,10 +1758,6 @@ static void pull_task(struct rq *src_rq, struct task_struct *p, | |||
1758 | set_task_cpu(p, this_cpu); | 1758 | set_task_cpu(p, this_cpu); |
1759 | activate_task(this_rq, p, 0); | 1759 | activate_task(this_rq, p, 0); |
1760 | check_preempt_curr(this_rq, p, 0); | 1760 | check_preempt_curr(this_rq, p, 0); |
1761 | |||
1762 | /* re-arm NEWIDLE balancing when moving tasks */ | ||
1763 | src_rq->avg_idle = this_rq->avg_idle = 2*sysctl_sched_migration_cost; | ||
1764 | this_rq->idle_stamp = 0; | ||
1765 | } | 1761 | } |
1766 | 1762 | ||
1767 | /* | 1763 | /* |
@@ -3219,8 +3215,10 @@ static void idle_balance(int this_cpu, struct rq *this_rq) | |||
3219 | interval = msecs_to_jiffies(sd->balance_interval); | 3215 | interval = msecs_to_jiffies(sd->balance_interval); |
3220 | if (time_after(next_balance, sd->last_balance + interval)) | 3216 | if (time_after(next_balance, sd->last_balance + interval)) |
3221 | next_balance = sd->last_balance + interval; | 3217 | next_balance = sd->last_balance + interval; |
3222 | if (pulled_task) | 3218 | if (pulled_task) { |
3219 | this_rq->idle_stamp = 0; | ||
3223 | break; | 3220 | break; |
3221 | } | ||
3224 | } | 3222 | } |
3225 | 3223 | ||
3226 | raw_spin_lock(&this_rq->lock); | 3224 | raw_spin_lock(&this_rq->lock); |