[Devel] [PATCH RHEL10 COMMIT] sched/core: guard cpu_cgrp_subsys.depends_on with CONFIG_CGROUP_CPUACCT

Konstantin Khorenko khorenko at virtuozzo.com
Thu Aug 20 19:57:26 MSK 2026


The commit is pushed to "branch-rh10-6.12.0-211.39.1.16.x.vz10-ovz" and will appear at git at bitbucket.org:openvz/vzkernel.git
after rh10-6.12.0-211.39.1.16.6.vz10
------>
commit 8fca9705e9ef7ec90da46ea4ccfbc17982505d3c
Author: Eva Kurchatova <eva.kurchatova at virtuozzo.com>
Date:   Thu Aug 20 18:42:57 2026 +0200

    sched/core: guard cpu_cgrp_subsys.depends_on with CONFIG_CGROUP_CPUACCT
    
    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>
---
 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 */


More information about the Devel mailing list