[PATCH 0/4] perf cs_etm: Basic support for virtual/kernel timestamps

German Gomez german.gomez at arm.com
Wed May 4 08:02:11 PDT 2022


Hi,

This change has a soft dependency on [1], but assuming the name/location
of the new sysfs interface (ts_source) doesn't change, it should be safe
to apply.

The new 'ts_source' interface allows perf to detect if the timestamps in
the trace correspond to the value of CNTVCT_EL0, which we can convert to
a perf timestamp and store it in the instruction and branch samples.

Due to the way the trace is compressed and decoded by OpenCSD, we only
know the precise time of the first instruction in a range, but I think
for now this is better than not having timestamps at all...

Thanks,
German

[1] https://lore.kernel.org/all/20220503123537.1003035-1-german.gomez@arm.com/

German Gomez (4):
  perf pmu: Add function to check if a pmu file exists
  perf cs_etm: Keep separate symbols for ETMv4 and ETE parameters
  perf cs_etm: Record ts_source in AUXTRACE_INFO for ETMv4 and ETE
  perf cs_etm: Set the time field in the synthetic samples

 tools/perf/arch/arm/util/cs-etm.c |  89 +++++++++++++++++++--
 tools/perf/util/cs-etm.c          | 126 +++++++++++++++++++++++++-----
 tools/perf/util/cs-etm.h          |  13 ++-
 tools/perf/util/pmu.c             |  17 ++++
 tools/perf/util/pmu.h             |   2 +
 5 files changed, 221 insertions(+), 26 deletions(-)

-- 
2.25.1




More information about the linux-arm-kernel mailing list