summaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2025-06-14 04:34:22 +0300
committerTejun Heo <tj@kernel.org>2025-06-21 06:03:51 +0300
commitddceadce63d9cb752c2472e220ded05cabaf7971 (patch)
treea011e5b43cd6a369b2442009851a97dcc5e47e92 /init
parent6e6558a6bc418f1478c5dc8609d03805364e0cb9 (diff)
downloadlinux-ddceadce63d9cb752c2472e220ded05cabaf7971.tar.xz
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>
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig5
1 files changed, 5 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig
index af4c2f085455..baf59d2a20a2 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1065,6 +1065,9 @@ if CGROUP_SCHED
config GROUP_SCHED_WEIGHT
def_bool n
+config GROUP_SCHED_BANDWIDTH
+ def_bool n
+
config FAIR_GROUP_SCHED
bool "Group scheduling for SCHED_OTHER"
depends on CGROUP_SCHED
@@ -1074,6 +1077,7 @@ config FAIR_GROUP_SCHED
config CFS_BANDWIDTH
bool "CPU bandwidth provisioning for FAIR_GROUP_SCHED"
depends on FAIR_GROUP_SCHED
+ select GROUP_SCHED_BANDWIDTH
default n
help
This option allows users to define CPU bandwidth rates (limits) for
@@ -1108,6 +1112,7 @@ config EXT_GROUP_SCHED
bool
depends on SCHED_CLASS_EXT && CGROUP_SCHED
select GROUP_SCHED_WEIGHT
+ select GROUP_SCHED_BANDWIDTH
default y
endif #CGROUP_SCHED