lkml.org 
[lkml]   [2011]   [Nov]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 3/4] perf: teach perf inject to merge sched_stat_* and sched_switch events
    On 11/2/11 3:59 PM, Andrew Vagin wrote:

    > + event_sw = (union perf_event *)&ent->header;

    This causes problems with -Wstrict-aliasing=3.

    I noticed that the suggested cmdline is:

    perf script record sched-stat -- -e sched:sched_stat_sleep

    I'd much prefer something along the lines of:

    perf script record sched-stat -e <events> -- sleep 1

    Also, the perf inject command is a bit unforgiving when the user makes
    some mistakes (eg: didn't specify -e sched:sched_stat_sleep). The
    failure mode is hard to understand (perf report -i perf.data.d fails
    with "no samples").

    Doing it directly:

    # perf record -ag -e sched:sched_switch --filter "prev_state == 1 ||
    prev_state == 2" -e
    sched:sched_process_exit,sched:sched_stat_sleep,sched:sched_stat_iowait
    -- sleep 1
    # perf inject -v -s -i perf.data -o perf.data.d

    results in a whole bunch of:

    Could not find sched_switch for pid 16188
    Could not find sched_switch for pid 16212
    Could not find sched_switch for pid 1500
    Could not find sched_switch for pid 16195
    Could not find sched_switch for pid 16179

    I think this is the same issue you referenced in "Known issues".

    Although I'm able to get some profiling info out of perf.data.d, the
    process I really wanted to trace got zero samples.

    -Arun



    \
     
     \ /
      Last update: 2011-11-04 01:13    [W:3.020 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site