aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2004-06-14 08:33:16 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-06-14 08:33:16 -0700
commit2f3600ceb38a78a9d7c050ab5250d378f7490c56 (patch)
treeceb6a3f193e6554a65318d3da6ffbf2ba9233e9a /kernel
parent98a394311bc43a4e1ede4c8920cf8ffdfab4033f (diff)
downloadhistory-2f3600ceb38a78a9d7c050ab5250d378f7490c56.tar.gz
Revert wakeup-affinity fixes
This patch results in too much idle time under certain loads, and while that is being looked into we're better off just reverting the change. Cset exclude: nickpiggin@yahoo.com.au[torvalds]|ChangeSet|20040605175839|02419
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index df93027de475d8..10c2581f40fe6e 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -770,8 +770,7 @@ static int try_to_wake_up(task_t * p, unsigned int state, int sync)
this_load -= SCHED_LOAD_SCALE;
/* Don't pull the task off an idle CPU to a busy one */
- if (load < SCHED_LOAD_SCALE && load + this_load > SCHED_LOAD_SCALE
- && this_load > load)
+ if (load < SCHED_LOAD_SCALE/2 && this_load > SCHED_LOAD_SCALE/2)
goto out_set_cpu;
new_cpu = this_cpu; /* Wake to this CPU if we can */
@@ -1633,7 +1632,8 @@ nextgroup:
return busiest;
out_balanced:
- if (busiest && idle != NOT_IDLE && max_load > SCHED_LOAD_SCALE) {
+ if (busiest && (idle == NEWLY_IDLE ||
+ (idle == IDLE && max_load > SCHED_LOAD_SCALE)) ) {
*imbalance = 1;
return busiest;
}