[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4F20823A.6010808@fb.com>
Date: Wed, 25 Jan 2012 14:29:14 -0800
From: Arun Sharma <asharma@...com>
To: Steven Rostedt <rostedt@...dmis.org>
CC: Frederic Weisbecker <fweisbec@...il.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
<linux-kernel@...r.kernel.org>,
Arnaldo Carvalho de Melo <acme@...radead.org>,
Andrew Vagin <avagin@...nvz.org>, Ingo Molnar <mingo@...e.hu>
Subject: Re: [PATCH] trace: reset sleep/block start time on task switch
On 1/25/12 12:15 PM, Steven Rostedt wrote:
> trace-cmd record -e sched_switch -f 'prev_state == 1 || prev_state == 2' -e sched_stat_sleep sleep 3
>
> I'm not sure the filter is even needed, and it should still keep up
> fine.
Better - I didn't see any overruns with trace-cmd.
Even if we resolve the sampling rate related problems, there is the
issue of: can we trust that a sampled sched_switch event and a sampled
sched_stat_sleep event actually match each other?
There is consensus here that touching an extra cacheline in the context
switch path is a good trade-off given the usefulness of sleep profiling
in troubleshooting latency problems.
Since it may not be a good trade-off for everyone, we just need to
figure out where to store some per-task state. To recap two potential
paths to investigate:
* store sleep_start someplace else that no one other than
sched_stat_sleeptime() knows about.
* store state in task struct that remembers whether the last context
switch was a preemption or not.
-Arun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists