linux_dsm_epyc7002/tools/lib/perf
Leo Yan 86941f8bd4 perf jit: Let convert_timestamp() to be backwards-compatible
[ Upstream commit aa616f5a8a2d22a179d5502ebd85045af66fa656 ]

Commit d110162caf ("perf tsc: Support cap_user_time_short for
event TIME_CONV") supports the extended parameters for event TIME_CONV,
but it broke the backwards compatibility, so any perf data file with old
event format fails to convert timestamp.

This patch introduces a helper event_contains() to check if an event
contains a specific member or not.  For the backwards-compatibility, if
the event size confirms the extended parameters are supported in the
event TIME_CONV, then copies these parameters.

Committer notes:

To make this compiler backwards compatible add this patch:

  -       struct perf_tsc_conversion tc = { 0 };
  +       struct perf_tsc_conversion tc = { .time_shift = 0, };

Fixes: d110162caf ("perf tsc: Support cap_user_time_short for event TIME_CONV")
Signed-off-by: Leo Yan <leo.yan@linaro.org>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Gustavo A. R. Silva <gustavoars@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steve MacLean <Steve.MacLean@Microsoft.com>
Cc: Yonatan Goldschmidt <yonatan.goldschmidt@granulate.io>
Link: https://lore.kernel.org/r/20210428120915.7123-3-leo.yan@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-05-14 09:50:44 +02:00
..
Documentation libperf: Fix man page typos 2020-08-13 09:34:26 -03:00
include perf jit: Let convert_timestamp() to be backwards-compatible 2021-05-14 09:50:44 +02:00
tests libperf tests: Fail when failing to get a tracepoint id 2021-01-27 11:55:04 +01:00
Build libperf: Move to tools/lib/perf 2020-01-06 11:46:09 -03:00
core.c libperf: Move to tools/lib/perf 2020-01-06 11:46:09 -03:00
cpumap.c libperf: Add NULL pointer check for cpu_map iteration and NULL assignment for all_cpus. 2020-05-05 16:35:29 -03:00
evlist.c perf evlist: Fix id index for heterogeneous systems 2021-01-27 11:55:11 +01:00
evsel.c libperf: Move to tools/lib/perf 2020-01-06 11:46:09 -03:00
internal.h libperf: Move to tools/lib/perf 2020-01-06 11:46:09 -03:00
lib.c libperf: Move to tools/lib/perf 2020-01-06 11:46:09 -03:00
libperf.map libperf: Move to tools/lib/perf 2020-01-06 11:46:09 -03:00
libperf.pc.template libperf: Move to tools/lib/perf 2020-01-06 11:46:09 -03:00
Makefile libperf: Add man pages 2020-01-06 11:46:09 -03:00
mmap.c libperf: Move to tools/lib/perf 2020-01-06 11:46:09 -03:00
threadmap.c libperf: Move to tools/lib/perf 2020-01-06 11:46:09 -03:00
xyarray.c libperf: Move to tools/lib/perf 2020-01-06 11:46:09 -03:00