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

From: Arnaldo Carvalho de Melo
Date: Mon Jul 03 2017 - 12:40:09 EST


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.

- Arnaldo