Re: [PATCH v2 0/7] perf: Add ioctl for PMU driver configuration

From: Mathieu Poirier
Date: Mon Jul 09 2018 - 15:21:20 EST


On Fri, 6 Jul 2018 at 17:38, Kim Phillips <kim.phillips@xxxxxxx> wrote:
>
> On Thu, 5 Jul 2018 16:13:40 -0600
> Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> wrote:
>
> > This set adds the capability to communiate event specific configuration
> > to the PMU kernel driver using an ioctl(). The functionatlity is made
> > generic enough for anyone to use but is targeted at the identification
> > of CoreSight sinks when operating in CPU-wide trace scenarios.
>
> With this series, a --per-thread -less invocation looks like it
> succeeds (instead of giving a "failed to mmap with 12 (Cannot allocate
> memory)" error):
>
> # perf record -e /cs_etm/@20010000.etf/ sleep 1
> [ perf record: Woken up 3 times to write data ]
> Warning:
> AUX data lost 2 times out of 3!
>
> [ perf record: Captured and wrote 0.182 MB perf.data ]
> #
>
> but now perf report - built with libopencsd - is unable to process the
> perf.data file:
>
> # perf report --stdio
> 0x3a0 [0x60]: failed to process type: 1
> Error:
> failed to process sample
> # To display the perf.data header info, please use --header/--header-only options.
> #

Right, that's expected since the perf tools patches for CPU-wide trace
scenarios haven't been merged yet. The real problem is, as you
pointed above, that this patchset should still report an error as full
functionality isn't merged yet. I will fix that.

>
> Also, a "record -a" invocation also acts like it's working, but Juno
> has a hardware limitation where it can't record all cpus concurrently,
> right? So, shouldn't record commands that exceed the h/w's
> capabilities error out instead?

To be clear there is no hardware limitation preventing "record -a" to
work properly, just SW. This patchset is the first step in addressing
the situation.

Thanks,
Mathieu

>
> Thanks,
>
> Kim