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

!9507 Enable SIS_UTIL for arm64 and optimize load_balance

Merge Pull Request from: @ci-robot 
 
PR sync from: Zheng Zengkai <zhengzengkai@huawei.com>
https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/53MIT6GI4UGU7VCX7ZPPTKUNVAXU33DN/ 
Enable SIS_UTIL for arm64 and fix numa imbalance in load_balance.

Zhang Qiao (2):
  sched/numa: Fix numa imbalance in load_balance()
  config: Disable COBFIG_ARCH_CUSTOM_NUMA_DISTANCE for arm64

Zheng Zengkai (2):
  Revert "sched: ARM64 enables SIS_PROP and disables SIS_UTIL""
  Revert "Revert "sched/fair:ARM64 enables SIS_UTIL and disables
    SIS_PROP""


-- 
2.20.1
 
https://gitee.com/openeuler/kernel/issues/I9RMHW
https://gitee.com/openeuler/kernel/issues/I61E4M
https://gitee.com/openeuler/kernel/issues/I8PG0C
https://gitee.com/openeuler/kernel/issues/IA7CCA 
 
Link:https://gitee.com/openeuler/kernel/pulls/9507

 

Reviewed-by: default avatarLiu Chao <liuchao173@huawei.com>
Reviewed-by: default avatarZucheng Zheng <zhengzucheng@huawei.com>
Signed-off-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
parents aae16170 f5aef354
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -7449,7 +7449,7 @@ CONFIG_ULTRASOC_SMB=m
CONFIG_FUNCTION_ERROR_INJECTION=y
# CONFIG_FAULT_INJECTION is not set
CONFIG_ARCH_HAS_KCOV=y
CONFIG_ARCH_CUSTOM_NUMA_DISTANCE=y
# CONFIG_ARCH_CUSTOM_NUMA_DISTANCE is not set

# CONFIG_KCOV is not set
# CONFIG_RUNTIME_TESTING_MENU is not set
+6 −4
Original line number Diff line number Diff line
@@ -11465,17 +11465,19 @@ static inline void calculate_imbalance(struct lb_env *env, struct sd_lb_stats *s

			/*
			 * If there is no overload, we just want to even the number of
			 * idle cpus.
			 * busy cpus.
			 */
			env->migration_type = migrate_task;
			env->imbalance = max_t(long, 0, (local->idle_cpus -
						 busiest->idle_cpus) >> 1);
			env->imbalance = max_t(long, 0,
						((busiest->group_weight - busiest->idle_cpus)
						- (local->group_weight - local->idle_cpus)) >> 1);
		}

		/* Consider allowing a small imbalance between NUMA groups */
		if (env->sd->flags & SD_NUMA) {
			env->imbalance = adjust_numa_imbalance(env->imbalance,
				local->sum_nr_running + 1, env->sd->imb_numa_nr);
							       busiest->sum_nr_running,
							       env->sd->imb_numa_nr);
		}

		return;
+5 −0
Original line number Diff line number Diff line
@@ -54,8 +54,13 @@ SCHED_FEAT(TTWU_QUEUE, true)
/*
 * When doing wakeups, attempt to limit superfluous scans of the LLC domain.
 */
#ifdef CONFIG_ARM64
SCHED_FEAT(SIS_PROP, false)
SCHED_FEAT(SIS_UTIL, true)
#else
SCHED_FEAT(SIS_PROP, true)
SCHED_FEAT(SIS_UTIL, false)
#endif

#ifdef CONFIG_SCHED_STEAL
/*