With multiple instances of task_groups, for_each_rt_rq() is a noop, no task groups having been added to the rt.c list instance. This renders __enable/disable_runtime() and print_rt_stats() noop, the user (non) visible effect being that rt task groups are missing in /proc/sched_debug.
Showing the changes to kernel (2 of 2 files). Show all
Unified · Split
| @@ -7252,6 +7252,7 @@ int in_sched_functions(unsigned long addr) · 7251 unmodified lines | ||
| 7252 | 7252 | |
| 7253 | 7253 | #ifdef CONFIG_CGROUP_SCHED |
| 7254 | 7254 | struct task_group root_task_group; |
| 7255 | +LIST_HEAD(task_groups); | |
| 7255 | 7256 | #endif |
| 7256 | 7257 | |
| 7257 | 7258 | DECLARE_PER_CPU(cpumask_var_t, load_balance_tmpmask); |
| @@ -80,7 +80,7 @@ extern struct mutex sched_domains_mutex; · 79 unmodified lines | ||
| 80 | 80 | struct cfs_rq; |
| 81 | 81 | struct rt_rq; |
| 82 | 82 | |
| 83 | −static LIST_HEAD(task_groups); | |
| 83 | +extern struct list_head task_groups; | |
| 84 | 84 | |
| 85 | 85 | struct cfs_bandwidth { |
| 86 | 86 | #ifdef CONFIG_CFS_BANDWIDTH |