This is v2 of sched_ext cgroup support patchset. Changes from v1 (http://lkml.kernel.org/r/20240808002550.731248-1-tj@xxxxxxxxxx) are: - cgroup interface file visiblity toggling based on SCX_OPS flags is dropped as it caused more confusion than helping anything. sched_ext now just warns when unimplemented features are used. This was originally taken from the cgroup integration part of the sched_ext v6 patchset: http://lkml.kernel.org/r/20240501151312.635565-1-tj@xxxxxxxxxx This patchset is on top of sched_ext/for-6.12 (9ad2861b773d ("sched_ext: Allow dequeue_task_scx to fail")) and contains the following patches: 0001-sched-Expose-css_tg.patch 0002-sched-Make-cpu_shares_read_u64-use-tg_weight.patch 0003-sched-Introduce-CONFIG_GROUP_SCHED_WEIGHT.patch 0004-sched_ext-Add-cgroup-support.patch 0005-sched_ext-Add-a-cgroup-scheduler-which-uses-flattene.patch 0001-0003 are sched core preparations. Straightforward. No functional changes. 0004 adds cgroup support to sched_ext. 0005 implements an example scheduler which uses the cgroup support. The patchset is also available in the following git branch: git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git scx-cgroup-v2 diffstat follows. Thanks. include/linux/sched/ext.h | 3 init/Kconfig | 10 kernel/sched/core.c | 98 +++- kernel/sched/ext.c | 519 ++++++++++++++++++++++++- kernel/sched/ext.h | 22 + kernel/sched/sched.h | 14 tools/sched_ext/Makefile | 2 tools/sched_ext/README.md | 12 tools/sched_ext/include/scx/common.bpf.h | 1 tools/sched_ext/scx_flatcg.bpf.c | 949 ++++++++++++++++++++++++++++++++++++++++++++++ tools/sched_ext/scx_flatcg.c | 233 +++++++++++ tools/sched_ext/scx_flatcg.h | 51 ++ tools/testing/selftests/sched_ext/maximal.bpf.c | 32 + 13 files changed, 1906 insertions(+), 40 deletions(-) -- tejun