diff options
| author | Tejun Heo <tj@kernel.org> | 2025-06-20 17:01:21 -1000 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2025-06-20 17:01:21 -1000 |
| commit | e4e149dd2f80b3f61d738f0b7d9cc9772c1353a4 (patch) | |
| tree | b9f802fff1919304df07cfba45a18ea68e254ad5 /kernel/sched/ext.c | |
| parent | e4ee150fea818c8519a0921d53794b763af1a006 (diff) | |
| parent | 33796b91871ad4010c8188372dd1faf97cf0f1c0 (diff) | |
sched_ext: Merge branch 'for-6.16-fixes' into for-6.17
Pull sched_ext/for-6.16-fixes to receive:
c50784e99f0e ("sched_ext: Make scx_group_set_weight() always update tg->scx.weight")
33796b91871a ("sched_ext, sched/core: Don't call scx_group_set_weight() prematurely from sched_create_group()")
which are needed to implement CPU bandwidth control interface support.
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel/sched/ext.c')
| -rw-r--r-- | kernel/sched/ext.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c index 28bb6810e5d1..4db51e708f86 100644 --- a/kernel/sched/ext.c +++ b/kernel/sched/ext.c @@ -4056,6 +4056,11 @@ bool scx_can_stop_tick(struct rq *rq) DEFINE_STATIC_PERCPU_RWSEM(scx_cgroup_rwsem); static bool scx_cgroup_enabled; +void scx_tg_init(struct task_group *tg) +{ + tg->scx_weight = CGROUP_WEIGHT_DFL; +} + int scx_tg_online(struct task_group *tg) { struct scx_sched *sch = scx_root; @@ -4205,12 +4210,12 @@ void scx_group_set_weight(struct task_group *tg, unsigned long weight) percpu_down_read(&scx_cgroup_rwsem); - if (scx_cgroup_enabled && tg->scx_weight != weight) { - if (SCX_HAS_OP(sch, cgroup_set_weight)) - SCX_CALL_OP(sch, SCX_KF_UNLOCKED, cgroup_set_weight, NULL, - tg_cgrp(tg), weight); - tg->scx_weight = weight; - } + if (scx_cgroup_enabled && SCX_HAS_OP(sch, cgroup_set_weight) && + tg->scx_weight != weight) + SCX_CALL_OP(sch, SCX_KF_UNLOCKED, cgroup_set_weight, NULL, + tg_cgrp(tg), weight); + + tg->scx_weight = weight; percpu_up_read(&scx_cgroup_rwsem); } |