Messages in this thread | | | Date | Thu, 3 Nov 2011 17:08:59 -0700 | From | Arun Sharma <> | Subject | Re: [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
| |