forked from torvalds/linux
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
sched/fair: Introduce priority load balance to reduce interference fr…
…om IDLE tasks For co-location with NORMAL and IDLE tasks, when CFS trigger load balance, it is reasonable to prefer migrating NORMAL(Latency Sensitive) tasks from the busy src CPU to dst CPU, and migrating IDLE tasks lastly. This is very important for reducing interference from IDLE tasks. So the CFS load balance can be optimized to below: 1.`cfs_tasks` list of CPU rq is owned by NORMAL tasks. 2.`cfs_idle_tasks` list of CPU rq which is owned by IDLE tasks. 3.Prefer to migrate NORMAL tasks of cfs_tasks to dst CPU. 4.Lastly migrate IDLE tasks of cfs_idle_tasks to dst CPU. This was tested with the following reproduction: - small number of NORMAL tasks colocated with a large number of IDLE tasks With this patch, NORMAL tasks latency can be reduced about 5~10% compared with current. Signed-off-by: zhangsong <zhangsong34@huawei.com>
- Loading branch information
1 parent
8648f92
commit 20ac252
Showing
3 changed files
with
41 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters