• Z
    sched: Introduce priority load balance for CFS · 7d655d41
    zhangsong 提交于
    euleros inclusion
    category: feature
    bugzilla: https://gitee.com/openeuler/kernel/issues/I5HF3M
    CVE: NA
    
    Reference: NA
    
    --------------------------------
    
    Add new sysctl interface:
    `/proc/sys/kernel/sched_prio_load_balance_enabled`
    
     0: default behavior
     1: enable priority load balance for qos scheduler
    
    For tasks co-location with qos scheduler, when CFS do load balance,
    it is reasonable to prefer migrating online(Latency Sensitive) tasks.
    So the CFS load balance can be changed to below:
    
    1) `cfs_tasks` list is owned by online tasks.
    2) Add new `cfs_offline_tasks` list which is owned by offline tasks.
    3) Prefer to migrate the online tasks of `cfs_tasks` list to dst rq.
    Signed-off-by: Nzhangsong <zhangsong34@huawei.com>
    Reviewed-by: NZhang Qiao <zhangqiao22@huawei.com>
    --------------------------------
    V2->V3:
    - remove skip_migrate_task for load balance
    V1->V2:
    - remove setting cpu shares for offline cgroup
    
     Conflicts:
    	kernel/sched/sched.h
    7d655d41
sched.h 77.5 KB