Re: [PATCH 1/3] perf timechart: implement IO mode

From: Namhyung Kim
Date: Wed Jun 11 2014 - 20:59:38 EST


Hi Stanislav,

On Tue, 10 Jun 2014 19:04:52 +0400, Stanislav Fomichev wrote:
> In IO mode timechart shows any disk/network activity.

[SNIP]
> +Record system-wide IO events:
> +
> + $ perf timechart record -I

I got a segfault here:

Core was generated by `perf timechart record -I'.
Program terminated with signal 11, Segmentation fault.
#0 parse_options_step (ctx=ctx@entry=0x7fff6dcd8ef0,
options=options@entry=0x587de0, usagestr=usagestr@entry=0x588900)
at util/parse-options.c:353
353 if (*arg != '-' || !arg[1]) {
Missing separate debuginfos, use: debuginfo-install glibc-2.17-9.fc20.x86_64 nss-softokn-freebl-3.15-1.fc20.x86_64 numactl-libs-2.0.7-6.fc17.x86_64
(gdb) bt
#0 parse_options_step (ctx=ctx@entry=0x7fff6dcd8ef0, options=options@entry=
0x587de0, usagestr=usagestr@entry=0x588900) at util/parse-options.c:353
#1 0x0000000000465cf4 in parse_options_subcommand (argc=argc@entry=197,
argv=argv@entry=0x13fd6d0, options=options@entry=0x587de0,
subcommands=subcommands@entry=0x0, usagestr=usagestr@entry=0x588900,
flags=flags@entry=2) at util/parse-options.c:462
#2 0x0000000000465f54 in parse_options (argc=argc@entry=197, argv=argv@entry=
0x13fd6d0, options=options@entry=0x587de0, usagestr=usagestr@entry=
0x588900, flags=flags@entry=2) at util/parse-options.c:492
#3 0x0000000000429ef8 in cmd_record (argc=argc@entry=197, argv=argv@entry=
0x13fd6d0, prefix=prefix@entry=0x0) at builtin-record.c:894
#4 0x0000000000434c59 in timechart__io_record (argv=0x7fff6dcdc270, argc=0)
at builtin-timechart.c:1756
#5 cmd_timechart (argc=0, argv=0x7fff6dcdc270, prefix=<optimized out>)
at builtin-timechart.c:1957
#6 0x000000000041b603 in run_builtin (p=p@entry=0x7fa230, argc=argc@entry=3,
argv=argv@entry=0x7fff6dcdc270) at perf.c:319
#7 0x000000000041ae82 in handle_internal_command (argv=0x7fff6dcdc270, argc=3)
at perf.c:376
#8 run_argv (argv=0x7fff6dcdc060, argcp=0x7fff6dcdc06c) at perf.c:420
#9 main (argc=3, argv=0x7fff6dcdc270) at perf.c:534


It was because, as I said, my system doesn't have pread64 syscall.. you
missed to decrease rec_argc when skipping invalid events. :)


> +
> + then generate timechart:
> +
> + $ perf timechart

After fixing the problem, I could run timechart and generate an
output.svg file. But it doesn't show any IO activity.. process info was
there in grey boxes (rect.process3) but no color boxes. I also tried
recording with ping and dd, but the result was same. I suspect it's
because of some mis-calculation of position or size of the boxes.

Thanks,
Namhyung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/