diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c index a26169094712b8cbe091a9031efa53be4094a387..b776ba4127db717f1434b109508a7813f9620120 100644 --- a/drivers/base/arch_topology.c +++ b/drivers/base/arch_topology.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index d6f43bca5ecb58e22b0a88817db6670ab889ca49..29fb4556d123ec3d29a7bbba4133ccd6519ba036 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h @@ -905,6 +905,10 @@ static inline struct cgroup_ifs *cgroup_ifs(struct cgroup *cgrp) static inline struct cgroup_ifs *task_ifs(struct task_struct *task) { +#ifdef CONFIG_CGROUP_CPUACCT + if (!cgroup_subsys_on_dfl(cpuacct_cgrp_subsys)) + return cgroup_ifs(task_cgroup(task, cpuacct_cgrp_id)); +#endif return cgroup_ifs(task_dfl_cgroup(task)); }