[BUG] perf sched broken

Stephane Eranian
2011-01-12T09:29:15Z

Hi,

I am trying to use perf sched from tip-x86 but it fails for all my attempts.

First of, I think the event list is stale. This is not so much the
events themselves
but rather the flags.

Looks to me like the :r modifier is not supported anymore, so a patch like the
one below is needed. That helps collect a trace. But then, you can dump
the trace.

$ perf sched rec dd if=/dev/zero of=/dev/null count=1000000
1000000+0 records in
1000000+0 records out
512000000 bytes (512 MB) copied, 0.589981 s, 868 MB/s
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.481 MB perf.data (~20997 samples) ]

$ perf sched rep
run measurement overhead: 2934 nsecs
sleep measurement overhead: 90502 nsecs
the run test took 999149 nsecs
the sleep test took 1092248 nsecs
Fatal: no trace data in the file

$ perf sched trace -D
usage: perf sched [<options>] {record|latency|map|replay|trace}

-i, --input <file> input file name
-v, --verbose be more verbose (show symbol address, etc)
-D, --dump-raw-trace dump raw trace in ASCII

Note that this is not specific to pref sched. If I use perf record directly,
I run into the same issue:
$ perf record -R -a -c 1 -e sched:sched_switch -- sleep 1
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.365 MB perf.data (~15962 samples) ]
$./perf report -D
Fatal: no trace data in the file

Now that perf trace is gone, how to I dump the trace?

Drop :r modifier for tracepoints

Signed-off-by: Stephane Eranian <eranian@google.com>
---

diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
index abd4b84..29e7ffd 100644
--- a/tools/perf/builtin-sched.c
+++ b/tools/perf/builtin-sched.c
@@ -1843,15 +1843,15 @@ static const char *record_args[] = {
"-f",
"-m", "1024",
"-c", "1",
- "-e", "sched:sched_switch:r",
- "-e", "sched:sched_stat_wait:r",
- "-e", "sched:sched_stat_sleep:r",
- "-e", "sched:sched_stat_iowait:r",
- "-e", "sched:sched_stat_runtime:r",
- "-e", "sched:sched_process_exit:r",
- "-e", "sched:sched_process_fork:r",
- "-e", "sched:sched_wakeup:r",
- "-e", "sched:sched_migrate_task:r",
+ "-e", "sched:sched_switch",
+ "-e", "sched:sched_stat_wait",
+ "-e", "sched:sched_stat_sleep",
+ "-e", "sched:sched_stat_iowait",
+ "-e", "sched:sched_stat_runtime",
+ "-e", "sched:sched_process_exit",
+ "-e", "sched:sched_process_fork",
+ "-e", "sched:sched_wakeup",
+ "-e", "sched:sched_migrate_task",
};