diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-06-14 08:33:16 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-06-14 08:33:16 -0700 |
commit | 2f3600ceb38a78a9d7c050ab5250d378f7490c56 (patch) | |
tree | ceb6a3f193e6554a65318d3da6ffbf2ba9233e9a /kernel | |
parent | 98a394311bc43a4e1ede4c8920cf8ffdfab4033f (diff) | |
download | history-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.c | 6 |
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; } |