]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
sched_ext: Fix missing SCX_EV_SUB_BYPASS_DISPATCH aggregation in scx_read_events()
authorCheng-Yang Chou <yphbchou0911@gmail.com>
Thu, 26 Mar 2026 01:48:27 +0000 (09:48 +0800)
committerTejun Heo <tj@kernel.org>
Thu, 26 Mar 2026 02:32:01 +0000 (16:32 -1000)
025b1bd41965 introduced SCX_EV_SUB_BYPASS_DISPATCH to track scheduling
of bypassed descendant tasks, and correctly increments it per-CPU and
displays it in sysfs and dump output. However, scx_read_events() which
aggregates per-CPU counters into a summary was not updated to include
this event, causing it to always read as zero in sysfs, in debug dumps,
and via the scx_bpf_events() kfunc.

Add the missing scx_agg_event() call for SCX_EV_SUB_BYPASS_DISPATCH.

Fixes: 025b1bd41965 ("sched_ext: Implement hierarchical bypass mode")
Signed-off-by: Cheng-Yang Chou <yphbchou0911@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/sched/ext.c

index a5d8871ac865122f245bcaeb81154aed83cf4965..7043fb94113078bfad2bfb95823fdafc368c6382 100644 (file)
@@ -9409,6 +9409,7 @@ static void scx_read_events(struct scx_sched *sch, struct scx_event_stats *event
                scx_agg_event(events, e_cpu, SCX_EV_BYPASS_DISPATCH);
                scx_agg_event(events, e_cpu, SCX_EV_BYPASS_ACTIVATE);
                scx_agg_event(events, e_cpu, SCX_EV_INSERT_NOT_OWNED);
+               scx_agg_event(events, e_cpu, SCX_EV_SUB_BYPASS_DISPATCH);
        }
 }