On Fri, 2 Feb 2024 08:33:38 +0000
Metin Kaya <metin.kaya@xxxxxxx> wrote:
Add sched_[start, finish]_task_selection trace events to measure the
latency of PE patches in task selection.
Moreover, introduce trace events for interesting events in PE:
1. sched_pe_enqueue_sleeping_task: a task gets enqueued on wait queue of
a sleeping task (mutex owner).
2. sched_pe_cross_remote_cpu: dependency chain crosses remote CPU.
3. sched_pe_task_is_migrating: mutex owner task migrates.
New trace events can be tested via this command:
$ perf trace \
-e sched:sched_start_task_selection \
-e sched:sched_finish_task_selection \
-e sched:sched_pe_enqueue_sleeping_task \
-e sched:sched_pe_cross_remote_cpu \
-e sched:sched_pe_task_is_migrating
Notes:
1. These trace events are not intended to merge upstream. Instead, they
are only for making PE tests easier and will be converted to trace
points once PE patches hit upstream.
I wonder if the tracepoints should be added though? That is, not adding the
trace_events that show up in tracefs, but just the tracepoints so that bpf
or local modules could hook to them?
-- Steve
2. This patch is based on John's Proxy Execution v7 patch series (see
the link below) which is also available at
https://github.com/johnstultz-work/linux-dev/commits/proxy-exec-v7-6.7-rc6/.
Link: https://lore.kernel.org/linux-kernel/CANDhNCrHd+5twWVNqBAhVLfhMhkiO0KjxXBmwVgaCD4kAyFyWw@xxxxxxxxxxxxxx/