[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ZvGJAD0eJJ67OO6R@slm.duckdns.org>
Date: Mon, 23 Sep 2024 05:28:00 -1000
From: Tejun Heo <tj@...nel.org>
To: Yu Liao <liaoyu15@...wei.com>
Cc: xiexiuqi@...wei.com, peterz@...radead.org, mingo@...hat.com,
linux-kernel@...r.kernel.org, juri.lelli@...hat.com,
vincent.guittot@...aro.org
Subject: Re: [RFC PATCH 2/2] sched: Put task_group::idle under
CONFIG_GROUP_SCHED_WEIGHT
Hello,
I applied the patch to sched_ext/for-6.12-fixes with some edits. There's no
strong reason to keep idle in that particular location and it's easier to
move it upward out of CONFIG_FAIR_GROUP_SCHED block.
Thanks.
------ 8< ------
>From 7ebd84d627e40cb9fb12b338588e81b6cca371e3 Mon Sep 17 00:00:00 2001
From: Yu Liao <liaoyu15@...wei.com>
Date: Mon, 23 Sep 2024 21:54:31 +0800
Subject: [PATCH] sched: Put task_group::idle under CONFIG_GROUP_SCHED_WEIGHT
When build with CONFIG_GROUP_SCHED_WEIGHT && !CONFIG_FAIR_GROUP_SCHED,
the idle member is not defined:
kernel/sched/ext.c:3701:16: error: 'struct task_group' has no member named 'idle'
3701 | if (!tg->idle)
| ^~
Fix this by putting 'idle' under new CONFIG_GROUP_SCHED_WEIGHT.
tj: Move idle field upward to avoid breaking up CONFIG_FAIR_GROUP_SCHED block.
Fixes: e179e80c5d4f ("sched: Introduce CONFIG_GROUP_SCHED_WEIGHT")
Reported-by: kernel test robot <lkp@...el.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202409220859.UiCAoFOW-lkp@intel.com/
Signed-off-by: Yu Liao <liaoyu15@...wei.com>
Signed-off-by: Tejun Heo <tj@...nel.org>
---
kernel/sched/sched.h | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 91d14061fdca..b1c3588a8f00 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -432,16 +432,17 @@ struct cfs_bandwidth {
struct task_group {
struct cgroup_subsys_state css;
+#ifdef CONFIG_GROUP_SCHED_WEIGHT
+ /* A positive value indicates that this is a SCHED_IDLE group. */
+ int idle;
+#endif
+
#ifdef CONFIG_FAIR_GROUP_SCHED
/* schedulable entities of this group on each CPU */
struct sched_entity **se;
/* runqueue "owned" by this group on each CPU */
struct cfs_rq **cfs_rq;
unsigned long shares;
-
- /* A positive value indicates that this is a SCHED_IDLE group. */
- int idle;
-
#ifdef CONFIG_SMP
/*
* load_avg can be heavily contended at clock tick time, so put
--
2.46.0
Powered by blists - more mailing lists