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

!1718 ignore the rt /dl task in tg_change_scheduler

Merge Pull Request from: @zhangwei123171 
 

When switching the sched policy of the container process through qos_level, 
you need to ignore the rt/dl task。


Both online task and offline task are limited to the cfs scheduling class。 
 
Link:https://gitee.com/openeuler/kernel/pulls/1718

 

Reviewed-by: default avatarzhao xiaoqiang <zhaoxiaoqiang11@jd.com>
Reviewed-by: default avatarsanglipeng <sanglipeng1@jd.com>
Reviewed-by: default avatarZucheng Zheng <zhengzucheng@huawei.com>
Signed-off-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
parents db10eced 58165b16
Loading
Loading
Loading
Loading
+7 −1
Original line number Original line Diff line number Diff line
@@ -9516,8 +9516,14 @@ static int tg_change_scheduler(struct task_group *tg, void *data)


	param.sched_priority = 0;
	param.sched_priority = 0;
	css_task_iter_start(css, 0, &it);
	css_task_iter_start(css, 0, &it);
	while ((tsk = css_task_iter_next(&it)))
	while ((tsk = css_task_iter_next(&it))) {
		if (unlikely(rt_task(tsk) || dl_task(tsk))) {
			pr_warn("skip %s/%d when setting qos_level\n", tsk->comm, tsk->pid);
			continue;
		}

		sched_setscheduler(tsk, policy, &param);
		sched_setscheduler(tsk, policy, &param);
	}
	css_task_iter_end(&it);
	css_task_iter_end(&it);


	return 0;
	return 0;