[PATCH v2 0/7] perf: Add ioctl for PMU driver configuration
From: mathieu.poirier@linaro.org (Mathieu Poirier)
Date: 2018-07-09 19:21:20
Also in:
lkml
On Fri, 6 Jul 2018 at 17:38, Kim Phillips [off-list ref] wrote:
On Thu, 5 Jul 2018 16:13:40 -0600 Mathieu Poirier [off-list ref] wrote:quoted
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