Messages in this thread Patch in this message | | | Date | Mon, 3 Jul 2017 17:16:54 +0200 | From | Jiri Olsa <> | Subject | [PATCHv2 01/15] perf tools: Fix -n option |
| |
On Mon, Jul 03, 2017 at 11:57:39AM -0300, Arnaldo Carvalho de Melo wrote: > Em Mon, Jul 03, 2017 at 04:50:16PM +0200, Jiri Olsa escreveu: > > The kernel fails to add a non sampling event event > > with having precise_ip set. > > > > Make sure the precise_ip is 0 when using -n option > > to create non sampling event in record. > > Ok, but how could that happen? What was the scenario? Which command? Can > you provide a command line that causes the problem?
[jolsa@krava perf]$ ./perf record -e cycles:ppp -n ls Lowering default frequency rate to 3000. Please consider tweaking /proc/sys/kernel/perf_event_max_sample_rate. Error: The sys_perf_event_open() syscall returned with 22 (Invalid argument) for event (cycles:pppu). /bin/dmesg may provide additional information. No CONFIG_PERF_EVENTS=y kernel support configured?
v2 attached, thanks jirka
--- The kernel fails to add a non sampling event event with having precise_ip set, like:
$ perf record -e cycles:ppp -n ls Error: The sys_perf_event_open() syscall returned with 22 (Invalid argument) for event (cycles:pppu). /bin/dmesg may provide additional information. No CONFIG_PERF_EVENTS=y kernel support configured?
Make sure the precise_ip is 0 when using -n option to create non sampling event in record.
Link: http://lkml.kernel.org/n/tip-l513fzc1houvu7tl1bo5y65y@git.kernel.org Signed-off-by: Jiri Olsa <jolsa@kernel.org> --- tools/perf/util/evsel.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c index 6f4882f8d61f..915fe3cd6544 100644 --- a/tools/perf/util/evsel.c +++ b/tools/perf/util/evsel.c @@ -890,8 +890,10 @@ void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts, attr->sample_period = 0; } - if (opts->no_samples) + if (opts->no_samples) { attr->sample_freq = 0; + attr->precise_ip = 0; + } if (opts->inherit_stat) attr->inherit_stat = 1; -- 2.9.4
| |