lkml.org 
[lkml]   [2012]   [Jan]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] trace: reset sleep/block start time on task switch
On Wed, Jan 25, 2012 at 11:50:53AM -0800, Arun Sharma wrote:
> 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 perf.data (~1425585 samples) ]
> Warning:
> Processed 104066 events and lost 4 chunks!
>
> Check IO/CPU overload!

Have you tried to tweak the -m options to increase the size of the buffer?

>
> -Arun


\
 
 \ /
  Last update: 2012-01-26 03:23    [W:0.083 / U:1.996 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site