Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 211983
b: refs/heads/master
c: 75dd321
h: refs/heads/master
i:
  211981: 6682217
  211979: adc7da1
  211975: 50ec948
  211967: 16b8970
v: v3
  • Loading branch information
Nikhil Rao authored and Ingo Molnar committed Oct 18, 2010
1 parent 8dc9c0f commit dcee195
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fab476228ba37907ad75216d0fd9732ada9c119e
refs/heads/master: 75dd321d79d495a0ee579e6249ebc38ddbb2667f
9 changes: 7 additions & 2 deletions trunk/kernel/sched_fair.c
Original file line number Diff line number Diff line change
Expand Up @@ -2554,9 +2554,14 @@ static inline void update_sd_lb_stats(struct sched_domain *sd, int this_cpu,
/*
* In case the child domain prefers tasks go to siblings
* first, lower the sg capacity to one so that we'll try
* and move all the excess tasks away.
* and move all the excess tasks away. We lower the capacity
* of a group only if the local group has the capacity to fit
* these excess tasks, i.e. nr_running < group_capacity. The
* extra check prevents the case where you always pull from the
* heaviest group when it is already under-utilized (possible
* with a large weight task outweighs the tasks on the system).
*/
if (prefer_sibling)
if (prefer_sibling && !local_group && sds->this_has_capacity)
sgs.group_capacity = min(sgs.group_capacity, 1UL);

if (local_group) {
Expand Down

0 comments on commit dcee195

Please sign in to comment.