diff options
author | 2025-06-13 15:34:22 -1000 | |
---|---|---|
committer | 2025-06-20 17:03:51 -1000 | |
commit | ddceadce63d9cb752c2472e220ded05cabaf7971 (patch) | |
tree | a011e5b43cd6a369b2442009851a97dcc5e47e92 /include/linux/sched/ext.h | |
parent | sched_ext, sched/core: Factor out struct scx_task_group (diff) | |
download | wireguard-linux-ddceadce63d9cb752c2472e220ded05cabaf7971.tar.xz wireguard-linux-ddceadce63d9cb752c2472e220ded05cabaf7971.zip |
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 'include/linux/sched/ext.h')
-rw-r--r-- | include/linux/sched/ext.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/sched/ext.h b/include/linux/sched/ext.h index eda89acdb7ab..8b92842776cb 100644 --- a/include/linux/sched/ext.h +++ b/include/linux/sched/ext.h @@ -219,6 +219,9 @@ struct scx_task_group { #ifdef CONFIG_EXT_GROUP_SCHED u32 flags; /* SCX_TG_* */ u32 weight; + u64 bw_period_us; + u64 bw_quota_us; + u64 bw_burst_us; #endif }; |