[PATCHSET sched_ext/for-7.4] sched_ext: Add ops.sub_child_ecaps_updated()
From: Tejun Heo
Date: Wed Oct 07 2026 - 20:04:00 EST
Hello,
A grant or revoke only records the target caps. They take effect on a cid at
its next dispatch, and nothing tells the parent when. Until then the parent
cannot act on a revoke, such as resetting the cpuperf target a child left on
the cid.
Patch 1 adds ops.sub_child_ecaps_updated(), delivered to the direct parent
right after the child's own ops.sub_ecaps_updated(), with the child's cgroup
id and the same before and after caps. A sub's disable reports the caps it
still held as revoked before the parent's ops.sub_detach(). Patch 2 makes
scx_qmap reset a child's cpuperf target once its PERF revoke takes effect.
Based on sched_ext/for-7.4 (3d7c2f550eef).
This patchset contains the following 2 patches.
0001 sched_ext: Add ops.sub_child_ecaps_updated() to report a child's effective cap changes
0002 sched_ext: scx_qmap: Reset a child's cpuperf targets once its PERF revoke takes effect
The patchset is also available in the following git branch:
git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git sub-child-ecaps
diffstat follows. Thanks.
kernel/sched/ext/ext.c | 4 ++
kernel/sched/ext/internal.h | 29 ++++++++-
kernel/sched/ext/sub.c | 130 ++++++++++++++++++++++++++++++++++-------
tools/sched_ext/scx_qmap.bpf.c | 15 +++++
tools/sched_ext/scx_qmap.c | 7 ++-
tools/sched_ext/scx_qmap.h | 1 +
6 files changed, 161 insertions(+), 25 deletions(-)
--
tejun