From 552177837ce1454f3955a8876fdbd160346f722b Mon Sep 17 00:00:00 2001 From: xianglai li Date: Wed, 17 Jan 2024 17:01:31 +0800 Subject: [PATCH] anolis: kernel/sched: Fix compile error on loongarch ANBZ: #7928 kernel errors occur when compiling loongarch due to the combination of the following patch. commit b14670127570 ("anolis: configs: enable CONFIG_IRQ_TIME_ACCOUNTING for arm64") commit 877afe6642de ("anolis: sched: fix conflicts between group identity and core scheduling") This problem is remedied through reasonable planning of macro definition. Signed-off-by: xianglai li Link: https://gitee.com/anolis/cloud-kernel/pulls/2627 --- kernel/sched/core_sched.c | 2 ++ kernel/sched/fair.c | 2 ++ kernel/sched/sched.h | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/kernel/sched/core_sched.c b/kernel/sched/core_sched.c index 17c460c4ca46..2aa714780d93 100644 --- a/kernel/sched/core_sched.c +++ b/kernel/sched/core_sched.c @@ -268,6 +268,7 @@ void clear_all_cookie(void) flush_workqueue(system_wq); } +#if defined(CONFIG_GROUP_IDENTITY) bool sched_check_sched_core_lock(void) { mutex_lock(&sched_core_gi_conflict_mutex); @@ -281,6 +282,7 @@ void sched_check_sched_core_unlock(void) { mutex_unlock(&sched_core_gi_conflict_mutex); } +#endif int sysctl_sched_core_handler(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 81ecf662abe7..1299b3af6d2d 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -1373,6 +1373,7 @@ void group_identity_put(void) atomic_dec(&group_identity_count); } +#if defined(CONFIG_SCHED_CORE) bool sched_check_group_identity_lock(void) { mutex_lock(&sched_core_gi_conflict_mutex); @@ -1385,6 +1386,7 @@ void sched_check_group_identity_unlock(void) { mutex_unlock(&sched_core_gi_conflict_mutex); } +#endif int sched_group_identity_enable_handler(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index 8099e13f7710..ad9c4dbdbbb5 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1250,7 +1250,7 @@ struct rq { u64 max_idle_balance_cost; #endif /* CONFIG_SMP */ -#if defined(CONFIG_IRQ_TIME_ACCOUNTING) && defined(CONFIG_X86) +#if defined(CONFIG_IRQ_TIME_ACCOUNTING) && (defined(CONFIG_X86) || defined(CONFIG_LOONGARCH)) u64 prev_irq_time; #endif #ifdef CONFIG_PARAVIRT -- Gitee