[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170703151654.GA16010@krava>
Date: Mon, 3 Jul 2017 17:16:54 +0200
From: Jiri Olsa <jolsa@...hat.com>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
Cc: Jiri Olsa <jolsa@...nel.org>, lkml <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...nel.org>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Namhyung Kim <namhyung@...nel.org>,
David Ahern <dsahern@...il.com>,
Thomas Richter <tmricht@...ux.vnet.ibm.com>
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@...va 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@...nel.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
Powered by blists - more mailing lists