[PATCH v3 0/2] sched_ext: document and enforce vtime ordering constraints
From: Tao Cui
Date: Tue Sep 01 2026 - 22:49:39 EST
From: Tao Cui <cuitao@xxxxxxxxxx>
Patch 1 documents the rolling-cursor requirement for 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 v2:
- 1/2: "less than 2^63 apart" (not "within"), folded into the paragraph
above
- 2/2: use time_before() instead of open-coded comparison, drop the
comment, fix the wrap direction and timing, state both lag and lead
bounds, Fixes corrected to upstream a4103eacc2ab (Tejun)
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
- 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 | 4 +++-
tools/sched_ext/scx_flatcg.bpf.c | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
--
2.43.0