[lkml]   [2012]   [Jan]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] trace: reset sleep/block start time on task switch
On 1/25/12 1:20 AM, Frederic Weisbecker wrote:

>>> I'm tempted to revert 1ac9bc69 for now, userspace will simply have to
>>> correlate trace_sched_switch() and trace_sched_stat_{sleep,blocked}(),
>>> which shouldn't be too hard.
>> We tried it and it didn't work very well. Especially when used with
>> perf record -g. There are too many uninteresting
>> trace_sched_switch() events.
> You mean context switches happening when the prev task doesn't need
> to block or so? As it happens with preemption for example?
> In this case you can use filters to drop context switches for
> which the prev state is not S or D.

We had these filters and still couldn't keep up:

# perf record -agP -e sched:sched_switch --filter "prev_state == 1 ||
prev_state == 2" -e sched:sched_stat_sleep -- sleep 3
[ perf record: Woken up 107 times to write data ]
[ perf record: Captured and wrote 32.629 MB (~1425585 samples) ]
Processed 104066 events and lost 4 chunks!

Check IO/CPU overload!


 \ /
  Last update: 2012-01-25 20:53    [W:0.128 / U:3.000 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site