[Devel] [PATCH vz10 02/32] sched/core: guard cpu_cgrp_subsys.depends_on with CONFIG_CGROUP_CPUACCT

Konstantin Khorenko khorenko at virtuozzo.com
Fri Aug 21 19:36:48 MSK 2026


From: Eva Kurchatova <eva.kurchatova at virtuozzo.com>

cpuacct_cgrp_id is only declared when CONFIG_CGROUP_CPUACCT is enabled -
SUBSYS(cpuacct) in include/linux/cgroup_subsys.h sits under
IS_ENABLED(CONFIG_CGROUP_CPUACCT) - while the cpu controller itself is
built whenever CONFIG_CGROUP_SCHED is set.  With CONFIG_CGROUP_SCHED=y
and CONFIG_CGROUP_CPUACCT=n the initializer does not compile:

  kernel/sched/core.c: error: 'cpuacct_cgrp_id' undeclared here
                       (not in a function)

There is nothing for the cpu controller to depend on when cpuacct is not
built, so simply drop the dependency in that configuration.

Fixes: 776275586407 ("cgroup: allow cpuacct to be enabled in v2 hierarchy")
Feature: sched: emulate virtual cpus for Containers
https://virtuozzo.atlassian.net/browse/VSTOR-134732
Signed-off-by: Eva Kurchatova <eva.kurchatova at virtuozzo.com>
Signed-off-by: Konstantin Khorenko <khorenko at virtuozzo.com>
---
 kernel/sched/core.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index d5b4d8c97a0c..7d2214749245 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -10441,7 +10441,9 @@ struct cgroup_subsys cpu_cgrp_subsys = {
 	.dfl_cftypes	= cpu_files,
 	.early_init	= true,
 	.threaded	= true,
+#ifdef CONFIG_CGROUP_CPUACCT
 	.depends_on	= 1 << cpuacct_cgrp_id,
+#endif
 };
 
 #endif /* CONFIG_CGROUP_SCHED */
-- 
2.47.1



More information about the Devel mailing list