On 10/15/11 12:29 PM, Peter Zijlstra wrote:
On Sat, 2011-10-15 at 21:22 +0200, Peter Zijlstra wrote:
Sleep time should really just be a different notion of 'cost of the
function/callchain' and fit into the existing scheme, right?
The problem with andrew's patches is that it wrecks the callchain
semantics. The waittime tracepoint is in the wakeup path (and hence
generates the wakee's callchain) whereas they really want the callchain
of the woken task to show where it spend time.
We could of course try to move the tracepoint into the schedule path, so
we issue it the first time the task gets scheduled after the wakeup, but
I suspect that will just add more overhead, and we really could do
without that.
Do we need to define new tracepoints? I suspect we could make the
existing ones:
trace_sched_stat_wait()
trace_sched_stat_sleep()
work for this purpose. The length of time the task was not on the cpu
could then be computed as: sleep+wait. The downside is that the
complexity moves to user space.
perf record -e sched:sched_stat_sleep,sched:sched_stat_wait,...
Re: changing the semantics of tracepoint callchains
Yeah - this could be surprising. Luckily, most tracepoints retain their
semantics, but a few special ones don't. I guess we just need to
document the new behavior.
-Arun
--
To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html