linux/kernel/sched
Changwoo Min 17103b8504 sched_ext: Implement event counter infrastructure
Collect the statistics of specific types of behavior in the sched_ext core,
which are not easily visible but still interesting to an scx scheduler.

An event type is defined in 'struct scx_event_stats.' When an event occurs,
its counter is accumulated using 'scx_add_event()' and '__scx_add_event()'
to per-CPU 'struct scx_event_stats' for efficiency. 'scx_bpf_events()'
aggregates all the per-CPU counters and exposes a system-wide counters.

For convenience and readability of the code, 'scx_agg_event()' and
'scx_dump_event()' are provided.

The collected events can be observed after a BPF scheduler is unloaded
beforea new BPF scheduler is loaded so the per-CPU 'struct scx_event_stats'
are reset.

Signed-off-by: Changwoo Min <changwoo@igalia.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2025-02-02 07:23:18 -10:00
..
autogroup.c sched_ext: Fix incorrect autogroup migration detection 2025-01-27 08:31:50 -10:00
autogroup.h
build_policy.c sched_ext: Move built-in idle CPU selection policy to a separate file 2025-01-27 12:43:43 -10:00
build_utility.c
clock.c
completion.c
core_sched.c
core.c sched_ext: Fix incorrect autogroup migration detection 2025-01-27 08:31:50 -10:00
cpuacct.c
cpudeadline.c
cpudeadline.h
cpufreq_schedutil.c Merge branch 'pm-cpufreq' 2025-01-20 20:34:50 +01:00
cpufreq.c
cpupri.c
cpupri.h
cputime.c sched: Define sched_clock_irqtime as static key 2025-01-13 14:10:25 +01:00
deadline.c Scheduler enhancements for v6.14: 2025-01-21 11:32:36 -08:00
debug.c sched/debug: Change need_resched warnings to pr_err 2025-01-13 14:10:23 +01:00
ext_idle.c sched_ext: Move built-in idle CPU selection policy to a separate file 2025-01-27 12:43:43 -10:00
ext_idle.h sched_ext: Move built-in idle CPU selection policy to a separate file 2025-01-27 12:43:43 -10:00
ext.c sched_ext: Implement event counter infrastructure 2025-02-02 07:23:18 -10:00
ext.h sched_ext: Fix incorrect autogroup migration detection 2025-01-27 08:31:50 -10:00
fair.c Scheduler enhancements for v6.14: 2025-01-21 11:32:36 -08:00
features.h sched/fair: Untangle NEXT_BUDDY and pick_next_task() 2024-12-09 11:48:13 +01:00
idle.c sched_ext: idle: Refresh idle masks during idle-to-idle transitions 2025-01-10 12:40:42 -10:00
isolation.c sched/isolation: Consolidate housekeeping cpumasks that are always identical 2024-12-02 12:24:28 +01:00
loadavg.c
Makefile
membarrier.c
pelt.c sched/fair: Use the new cfs_rq.h_nr_runnable 2024-12-09 11:48:11 +01:00
pelt.h
psi.c sched, psi: Don't account irq time if sched_clock_irqtime is disabled 2025-01-13 14:10:26 +01:00
rt.c sched: Split scheduler and execution contexts 2024-10-14 12:52:42 +02:00
sched-pelt.h
sched.h sched_ext: Fix incorrect autogroup migration detection 2025-01-27 08:31:50 -10:00
smp.h
stats.c docs: Update Schedstat version to 17 2024-12-20 15:31:18 +01:00
stats.h psi: Fix race when task wakes up before psi_sched_switch() adjusts flags 2025-01-13 14:10:26 +01:00
stop_task.c
swait.c
syscalls.c sched/fair: Encapsulate set custom slice in a __setparam_fair() function 2025-01-13 14:10:22 +01:00
topology.c sched: Move sched domain name out of CONFIG_SCHED_DEBUG 2024-12-20 15:31:17 +01:00
wait_bit.c sched/wait: Remove unused bit_wait_io_timeout 2024-10-07 09:28:41 +02:00
wait.c