Re: [PATCHv2 01/15] perf tools: Fix -n option

From: Jiri Olsa
Date: Mon Jul 03 2017 - 12:58:46 EST


On Mon, Jul 03, 2017 at 01:40:01PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Mon, Jul 03, 2017 at 06:22:28PM +0200, Jiri Olsa escreveu:
> > On Mon, Jul 03, 2017 at 01:10:04PM -0300, Arnaldo Carvalho de Melo wrote:
> > > Em Mon, Jul 03, 2017 at 05:16:54PM +0200, Jiri Olsa escreveu:
> > > > 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
> > >
> > > Ok, so the user asks for --no-samples but at the same time asks for
> > > precision equal to :ppp, we should stop right there and warn the user
> > > that that is not possible, instead of silently dropping off what the
> > > user explicitely asked.
> >
> > well I take this option more like debug/devel one.. you have
> > failing command line and want to investigate the kernel state
> > without having samples generated under your fingers
> >
> > can't see why would normal user need it
> >
> > >
> > > I'm cooking a few patches to allow that, then we can apply your patch,
> > > that, with the current set of users will never kick in :-)
>
> Take a look at:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/commit/?h=perf/core&id=9f6e7e8bbb99feb6d721be7ccefb8c9139fa5abb
>
> and:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/commit/?h=perf/core&id=f9a4297945a99b47f92b111b5b1802a3b295a1a7
>
> Its in my perf/core branch now.

I think I'd just go for simple warning once we detect -n and :p
but if you think error is necessary I'll live ;-)

jirka