فهرست منبع

sched: Try to deal with low capacity, fix update_sd_power_savings_stats()

sgs.group_capacity can now be 0, if for some reason
group->__cpu_power happens to be less than SCHED_LOAD_SCALE/2.

In that case, we need the following fix to make it work for
update_sd_power_savings_stats(). That's because both
sum_nr_running and group_capacity are unsigned longs.

Cc: Gautham R Shenoy <ego@in.ibm.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Andreas Herrmann <andreas.herrmann3@amd.com>
Cc: Balbir Singh <balbir@in.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Gautham R Shenoy 15 سال پیش
والد
کامیت
d899a789c2
1فایلهای تغییر یافته به همراه1 افزوده شده و 1 حذف شده
  1. 1 1
      kernel/sched.c

+ 1 - 1
kernel/sched.c

@@ -3668,7 +3668,7 @@ static inline void update_sd_power_savings_stats(struct sched_group *group,
 	 * capacity but still has some space to pick up some load
 	 * capacity but still has some space to pick up some load
 	 * from other group and save more power
 	 * from other group and save more power
 	 */
 	 */
-	if (sgs->sum_nr_running > sgs->group_capacity - 1)
+	if (sgs->sum_nr_running + 1 > sgs->group_capacity)
 		return;
 		return;
 
 
 	if (sgs->sum_nr_running > sds->leader_nr_running ||
 	if (sgs->sum_nr_running > sds->leader_nr_running ||