Messages in this thread | | | Subject | Re: [RFC PATCH] sched: Fix sched_wakeup tracepoint | From | Peter Zijlstra <> | Date | Sat, 06 Jun 2015 14:02:22 +0200 |
| |
On Fri, 2015-06-05 at 13:23 +0000, Mathieu Desnoyers wrote: > OK, so considering the definition naming feedback you provided, we > may need a 3 tracepoint if we want to calculate both wakeup latency > and scheduling latency (naming ofc open to discussion): > > sched_wakeup: when try_to_wake_up{,_local} is called in the waker. > sched_activate_task: when the wakee is marked runnable. > sched_switch: when scheduling actually happens.
I would propose:
sched_waking: upon calling try_to_wake_up() as soon as we know we need to change state; guaranteed to be called from the context doing the wakeup.
sched_woken: the wakeup is complete (task is runnable, any delay between this and actually getting on a cpu is down to the scheduler).
sched_switch: when switching from task @prev to @next.
This means abandoning trace_sched_wakeup(); which might be a problem, which is why I bloody hate tracepoints :-(
> We can then calculate wakeup latency as > > time@sched_activate - time@sched_wakeup > > And scheduling latency as > > time@sched_switch - time@sched_activate > > In the case of critical path analysis, we don't care about this > level of granularity. What we care about is is sum of the two, > which we can express as: > > time@sched_switch - time@sched_wakeup > > Is there an officially blessed name for this ?
No idea.
| |