Unverified Commit dd04bc62 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!3383 Support Qos Scheduler

Merge Pull Request from: @ci-robot 
 
PR sync from: Wenyu Huang <huangwenyu5@huawei.com>
https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/YAAS6NVHLODSB674KJXOJZQOQ7F54OK3/ 
Zhang Qiao (5):
  sched: Introduce qos scheduler for co-location
  sched: Throttle qos cfs_rq when current cpu is running online task
  sched: Support kill boost for offline task
  sched: Introduce handle priority reversion mechanism
  sched: Enable qos scheduler config


-- 
2.34.1
 
https://gitee.com/openeuler/kernel/issues/I8MF4R 
 
Link:https://gitee.com/openeuler/kernel/pulls/3383

 

Reviewed-by: default avatarZucheng Zheng <zhengzucheng@huawei.com>
Reviewed-by: default avatarLu Jialin <lujialin4@huawei.com>
Reviewed-by: default avatarZhang Jianhua <chris.zjh@huawei.com>
Reviewed-by: default avatarLiu Chao <liuchao173@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parents 7f55dbd9 fcf53ace
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -161,6 +161,7 @@ CONFIG_MEMCG_KMEM=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_QOS_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_RT_GROUP_SCHED=y
+1 −0
Original line number Diff line number Diff line
@@ -183,6 +183,7 @@ CONFIG_MEMCG_KMEM=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_QOS_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_RT_GROUP_SCHED=y
+4 −0
Original line number Diff line number Diff line
@@ -855,4 +855,8 @@ static inline void cgroup_bpf_put(struct cgroup *cgrp) {}

#endif /* CONFIG_CGROUP_BPF */

#ifdef CONFIG_QOS_SCHED
void cgroup_move_task_to_root(struct task_struct *tsk);
#endif

#endif /* _LINUX_CGROUP_H */
+5 −0
Original line number Diff line number Diff line
@@ -59,6 +59,11 @@ static inline void resume_user_mode_work(struct pt_regs *regs)
	blkcg_maybe_throttle_current();

	rseq_handle_notify_resume(NULL, regs);

#ifdef CONFIG_QOS_SCHED
	sched_qos_offline_wait();
#endif

}

#endif /* LINUX_RESUME_USER_MODE_H */
+11 −0
Original line number Diff line number Diff line
@@ -2458,4 +2458,15 @@ static inline int sched_core_idle_cpu(int cpu) { return idle_cpu(cpu); }

extern void sched_set_stop_task(int cpu, struct task_struct *stop);

#ifdef CONFIG_QOS_SCHED
void sched_move_offline_task(struct task_struct *p);
void sched_qos_offline_wait(void);
int sched_qos_cpu_overload(void);
#else
static inline int sched_qos_cpu_overload(void)
{
	return 0;
}
#endif

#endif
Loading