Re: [PATCH RFC V9 2/3] perf,tools: per-event callgraph support

From: Arnaldo Carvalho de Melo
Date: Fri Aug 07 2015 - 11:53:32 EST


Em Thu, Aug 06, 2015 at 03:44:53PM -0400, kan.liang@xxxxxxxxx escreveu:
> From: Kan Liang <kan.liang@xxxxxxxxx>
> Here are some examples and test results.
>
> 1. Comparing the elapsed time and perf.data size from "kernbench -M -H".
>
> The test command for FULL callgraph and time support.
> "perf record -e
> '{cpu/cpu-cycles,period=100000/,cpu/instructions,period=20000/p}'
> --call-graph fp --time"

Jiri, while testing this I noticed that the message for EINVAL when
using the cpu// syntax (per-event settings) is cryptic:

[root@zoo ~]# perf record -e 'cpu/cpu-cycles,call-graph=fp,time,period=100000/p' ls
Error:
The sys_perf_event_open() syscall returned with 22 (Invalid argument) for event (cpu/cpu-cycles,call-graph=fp,time,period=100000/p).
/bin/dmesg may provide additional information.
No CONFIG_PERF_EVENTS=y kernel support configured?

Whereas if we use -F, it is much, much clearer, telling the user exactly
what is failing and what needs to be done to make it work:

[root@zoo ~]# perf record -F 100000 -e cpu/cpu-cycles/ usleep 1
Maximum frequency rate (25000) reached.
Please use -F freq option with lower value or consider
tweaking /proc/sys/kernel/perf_event_max_sample_rate.
[root@zoo ~]#

Hope this is something easy to wire up, given your event parsing kung foo
skillz...

;-)

- Arnaldo
--
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/