Commit eda0333
sched/fair: Fix redundant load balancer reattempt due to LBF_ALL_PINNED
LBF_ALL_PINNED flag should cleared in can_migrate_task() if the task
can run on the destination CPU during load balance. In current code,
can_migrate_task() return incorrectly without clearing this flag
in case if the task can't be migrated to the destination CPU due to
cumulative window demand constraints. Since LBF_ALL_PINNED flag
is not cleared, load balancer thinks that none of the tasks running
on the busiest group can't be migrated to the destination CPU due
to affinity settings and tries to find another busiest group. Prevent
this incorrect reattempt of load balance by clearing LBF_ALL_PINNED
flag right after the task affinity check in can_migrate_task().
Change-Id: Iad1cf42b1aaf70106ee5ecfbd9499ccb6eb7497e
[clingutla@codeaurora.org: Resolved merge conflicts]
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
(cherry picked from commit 5ee367fc9386d4e36af644942d9d10f97827bab1)1 parent 7af632d commit eda0333
1 file changed
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8443 | 8443 | | |
8444 | 8444 | | |
8445 | 8445 | | |
| 8446 | + | |
| 8447 | + | |
| 8448 | + | |
8446 | 8449 | | |
8447 | 8450 | | |
8448 | 8451 | | |
| |||
8456 | 8459 | | |
8457 | 8460 | | |
8458 | 8461 | | |
8459 | | - | |
8460 | | - | |
8461 | | - | |
8462 | 8462 | | |
8463 | 8463 | | |
8464 | 8464 | | |
| |||
0 commit comments