sched_ext: Add support for cgroup bandwidth control interface
authorTejun Heo <tj@kernel.org>
Sat, 14 Jun 2025 01:34:22 +0000 (15:34 -1000)
committerTejun Heo <tj@kernel.org>
Sat, 21 Jun 2025 03:03:51 +0000 (17:03 -1000)
commitddceadce63d9cb752c2472e220ded05cabaf7971
treea011e5b43cd6a369b2442009851a97dcc5e47e92
parent6e6558a6bc418f1478c5dc8609d03805364e0cb9
sched_ext: Add support for cgroup bandwidth control interface

From 077814f57f8acce13f91dc34bbd2b7e4911fbf25 Mon Sep 17 00:00:00 2001
From: Tejun Heo <tj@kernel.org>
Date: Fri, 13 Jun 2025 15:06:47 -1000

- Add CONFIG_GROUP_SCHED_BANDWIDTH which is selected by both
  CONFIG_CFS_BANDWIDTH and EXT_GROUP_SCHED.

- Put bandwidth control interface files for both cgroup v1 and v2 under
  CONFIG_GROUP_SCHED_BANDWIDTH.

- Update tg_bandwidth() to fetch configuration parameters from fair if
  CONFIG_CFS_BANDWIDTH, SCX otherwise.

- Update tg_set_bandwidth() to update the parameters for both fair and SCX.

- Add bandwidth control parameters to struct scx_cgroup_init_args.

- Add sched_ext_ops.cgroup_set_bandwidth() which is invoked on bandwidth
  control parameter updates.

- Update scx_qmap and maximal selftest to test the new feature.

Signed-off-by: Tejun Heo <tj@kernel.org>
include/linux/sched/ext.h
init/Kconfig
kernel/sched/core.c
kernel/sched/ext.c
kernel/sched/ext.h
kernel/sched/sched.h
tools/sched_ext/scx_qmap.bpf.c
tools/testing/selftests/sched_ext/maximal.bpf.c