[PATCH v2 0/2] sched_ext: document and enforce vtime ordering constraints

From: Tao Cui

Date: Tue Sep 01 2026 - 10:35:17 EST


From: Tao Cui <cuitao@xxxxxxxxxx>

Patch 1 documents the rolling-cursor and half-range requirement for
dsq_vtime ordering in scx_bpf_dsq_insert_vtime(). Patch 2 fixes
scx_flatcg's comparator to use the cyclic comparison, which is
correct there because cgrp_cap_budget() upholds that requirement.

Changes since v1:
- drop 1/2 (kernel priq comparator change): the cyclic ordering is
the documented contract; a plain comparison causes unbounded
starvation at the natural wrap (Andrea, Tejun)
- new 1/2: document the rolling-cursor requirement instead (Tejun)
- 2/2 (flatcg) unchanged

Tao Cui (2):
sched_ext: document the rolling-cursor requirement for dsq_vtime
sched_ext/scx_flatcg: make cgv_node_less() wraparound-safe

kernel/sched/ext/ext.c | 5 +++++
tools/sched_ext/scx_flatcg.bpf.c | 3 ++-
2 files changed, 7 insertions(+), 1 deletion(-)

--
2.43.0