Let me think about it...The main reasons for adding static tracepoints are:You can track the time process has been preempted by other means, no? We
1. To subdivide the time spent in the shrinker->count_objects() and
shrinker->scan_objects() functions within the do_shrink_slab function. Using
BPF kprobe, we can only track the time spent in the do_shrink_slab function.
2. When tracing frequently called functions, static tracepoints (BPF
tp/tracepoint) have lower performance impact compared to dynamic tracepoints
(BPF kprobe).
have context switching tracepoints in place. Have you considered that
option?