perf cs-etm: Update ETM metadata format
authorMike Leach <mike.leach@linaro.org>
Wed, 24 Feb 2021 16:48:30 +0000 (09:48 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 2 Mar 2021 12:46:28 +0000 (09:46 -0300)
commit42b2b570b34afb5fb9dc16ac77cb332194136a85
tree12c5badd817668dc826209339637cbc3ce5f5a60
parent83bf6fb8b076c72fe42e7d0fab5a5c98b5e2a11a
perf cs-etm: Update ETM metadata format

The current fixed metadata version format (version 0), means that adding
metadata parameter items renders files from a previous version of perf
unreadable. Per CPU parameters appear in a fixed order, but there is no
field to indicate the number of ETM parameters per CPU.

This patch updates the per CPU parameter blocks to include a NR_PARAMs
value which indicates the number of parameters in the block.

The header version is incremented to 1. Fixed ordering is retained,
new ETM parameters are added to the end of the list.

The reader code is updated to be able to read current version 0 files,
For version 1, the reader will read the number of parameters in the
per CPU block. This allows the reader to process older or newer files
that may have different numbers of parameters than in use at the
time perf was built.

Signed-off-by: Mike Leach <mike.leach@linaro.org>
Reviewed-by: Leo Yan <leo.yan@linaro.org>
Tested-by: Leo Yan <leo.yan@linaro.org>
Link: https://lore.kernel.org/r/20210202214040.32349-1-mike.leach@linaro.org
Link: https://lore.kernel.org/r/20210224164835.3497311-2-mathieu.poirier@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/arch/arm/util/cs-etm.c
tools/perf/util/cs-etm.c
tools/perf/util/cs-etm.h