On Mon, Mar 02, 2020 at 06:17:49PM +0000, Mark Rutland wrote: > This is a respin of Andrew Murray's series to enable support for 64-bit > counters as introduced in ARMv8.5. > > I've given this a spin on (ARMv8.2) hardware, to test that there are no > regressions, but I have not had the chance to test in an ARMv8.5 model (which I > beleive Andrew had previously tested). Bad news; this is broken. :( While perf-stat works as expected, perf-record doesn't get samples for any of the programmable counters. In ARMv8.4 mode I can do: | / # perf record -a -c 1 -e armv8_pmuv3/inst_retired/ true | [ perf record: Woken up 1 times to write data ] | [ perf record: Captured and wrote 0.023 MB perf.data (367 samples) ] | / # perf record -a -c 1 -e armv8_pmuv3/inst_retired,long/ true | [ perf record: Woken up 1 times to write data ] | [ perf record: Captured and wrote 0.022 MB perf.data (353 samples) ] ... so regular 32-bit and chained events work correctly. But in ARMv8.5 mode I get no samples in either case: | / # perf record -a -c 1 -e armv8_pmuv3/inst_retired/ true | [ perf record: Woken up 1 times to write data ] | [ perf record: Captured and wrote 0.008 MB perf.data ] | / # perf report | grep samples | Error: | The perf.data file has no samples! | / # perf record -a -c 1 -e armv8_pmuv3/inst_retired,long/ true | [ perf record: Woken up 1 times to write data ] | [ perf record: Captured and wrote 0.008 MB perf.data ] | / # perf report | grep samples | Error: | The perf.data file has no samples! I'll have to trace the driver to see what's going on. I suspect we've missed some bias handling, but it's possible that this is a model bug. Thanks, Mark. _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm