diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2010-02-16 10:48:56 -0500 |
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2010-02-16 10:48:56 -0500 |
| commit | 6e40f5bbbc734231bc5809d3eb785e3c21f275d7 (patch) | |
| tree | 8520fc84d9643502ebe86233cefcd774e2babf72 /kernel/sched_fair.c | |
| parent | 301ba0457f1ed853fc08e57785f8c87fe7e49c68 (diff) | |
| parent | 0970d2992dfd7d5ec2c787417cf464f01eeaf42a (diff) | |
Merge branch 'sched/urgent' into sched/core
Conflicts: kernel/sched.c
Necessary due to the urgent fixes which conflict with the code move
from sched.c to sched_fair.c
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/sched_fair.c')
| -rw-r--r-- | kernel/sched_fair.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index b45abbe55067..ff7692ccda89 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c | |||
| @@ -2792,12 +2792,23 @@ find_busiest_queue(struct sched_group *group, enum cpu_idle_type idle, | |||
| 2792 | continue; | 2792 | continue; |
| 2793 | 2793 | ||
| 2794 | rq = cpu_rq(i); | 2794 | rq = cpu_rq(i); |
| 2795 | wl = weighted_cpuload(i) * SCHED_LOAD_SCALE; | 2795 | wl = weighted_cpuload(i); |
| 2796 | wl /= power; | ||
| 2797 | 2796 | ||
| 2797 | /* | ||
| 2798 | * When comparing with imbalance, use weighted_cpuload() | ||
| 2799 | * which is not scaled with the cpu power. | ||
| 2800 | */ | ||
| 2798 | if (capacity && rq->nr_running == 1 && wl > imbalance) | 2801 | if (capacity && rq->nr_running == 1 && wl > imbalance) |
| 2799 | continue; | 2802 | continue; |
| 2800 | 2803 | ||
| 2804 | /* | ||
| 2805 | * For the load comparisons with the other cpu's, consider | ||
| 2806 | * the weighted_cpuload() scaled with the cpu power, so that | ||
| 2807 | * the load can be moved away from the cpu that is potentially | ||
| 2808 | * running at a lower capacity. | ||
| 2809 | */ | ||
| 2810 | wl = (wl * SCHED_LOAD_SCALE) / power; | ||
| 2811 | |||
| 2801 | if (wl > max_load) { | 2812 | if (wl > max_load) { |
| 2802 | max_load = wl; | 2813 | max_load = wl; |
| 2803 | busiest = rq; | 2814 | busiest = rq; |
