aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/sched.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index b533d6db78aa..c8759ec6d8a9 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -2512,7 +2512,7 @@ group_next:
2512 * a think about bumping its value to force at least one task to be 2512 * a think about bumping its value to force at least one task to be
2513 * moved 2513 * moved
2514 */ 2514 */
2515 if (*imbalance + SCHED_LOAD_SCALE_FUZZ < busiest_load_per_task) { 2515 if (*imbalance < busiest_load_per_task) {
2516 unsigned long tmp, pwr_now, pwr_move; 2516 unsigned long tmp, pwr_now, pwr_move;
2517 unsigned int imbn; 2517 unsigned int imbn;
2518 2518
@@ -2564,10 +2564,8 @@ small_imbalance:
2564 pwr_move /= SCHED_LOAD_SCALE; 2564 pwr_move /= SCHED_LOAD_SCALE;
2565 2565
2566 /* Move if we gain throughput */ 2566 /* Move if we gain throughput */
2567 if (pwr_move <= pwr_now) 2567 if (pwr_move > pwr_now)
2568 goto out_balanced; 2568 *imbalance = busiest_load_per_task;
2569
2570 *imbalance = busiest_load_per_task;
2571 } 2569 }
2572 2570
2573 return busiest; 2571 return busiest;