提交 bcddff7e 编写于 作者: T tanghui 提交者: Zhong Jinghua

sched: Adjust cpu allowed in load balance dynamicly

hulk inclusion
category: feature
bugzilla: 186575, https://gitee.com/openeuler/kernel/issues/I526XC

--------------------------------

Not allow task to migrate out of cpu preferred.
Signed-off-by: Ntanghui <tanghui20@huawei.com>
Signed-off-by: NZheng Zucheng <zhengzucheng@huawei.com>
Reviewed-by: NZhang Qiao <zhangqiao22@huawei.com>
上级 2a3bb3c0
......@@ -8512,7 +8512,12 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env)
if (kthread_is_per_cpu(p))
return 0;
#ifdef CONFIG_QOS_SCHED_DYNAMIC_AFFINITY
set_task_select_cpus(p, NULL, 0);
if (!cpumask_test_cpu(env->dst_cpu, p->select_cpus)) {
#else
if (!cpumask_test_cpu(env->dst_cpu, p->cpus_ptr)) {
#endif
int cpu;
schedstat_inc(p->se.statistics.nr_failed_migrations_affine);
......@@ -8532,7 +8537,11 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env)
/* Prevent to re-select dst_cpu via env's CPUs: */
for_each_cpu_and(cpu, env->dst_grpmask, env->cpus) {
#ifdef CONFIG_QOS_SCHED_DYNAMIC_AFFINITY
if (cpumask_test_cpu(cpu, p->select_cpus)) {
#else
if (cpumask_test_cpu(cpu, p->cpus_ptr)) {
#endif
env->flags |= LBF_DST_PINNED;
env->new_dst_cpu = cpu;
break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册