This patchset is 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 (2c390dda9e03 ("sched_ext: Make task_can_run_on_remote_rq() use common task_allowed_on_cpu()")) and contains the following patches: 0001-cgroup-Implement-cgroup_show_cftypes.patch 0002-sched-Expose-css_tg.patch 0003-sched-Enumerate-CPU-cgroup-file-types.patch 0004-sched-Make-cpu_shares_read_u64-use-tg_weight.patch 0005-sched-Introduce-CONFIG_GROUP_SCHED_WEIGHT.patch 0006-sched_ext-Add-cgroup-support.patch 0007-sched_ext-Add-a-cgroup-scheduler-which-uses-flattene.patch 0001 implements cgroup_show_cftype() so that SCX schedulers can only show cgroup knobs that it implements. 0002-0005 are sched core preparations. Should be pretty straightforward. No functional changes. 0006 adds cgroup support to sched_ext. 0007 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 diffstat follows. Thanks. include/linux/cgroup-defs.h | 8 include/linux/cgroup.h | 1 include/linux/sched/ext.h | 3 init/Kconfig | 10 kernel/cgroup/cgroup.c | 97 ++++ kernel/sched/core.c | 115 +++-- kernel/sched/ext.c | 522 ++++++++++++++++++++++++- kernel/sched/ext.h | 20 kernel/sched/sched.h | 35 + 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 + 16 files changed, 2035 insertions(+), 56 deletions(-) -- tejun