]> git.itanic.dy.fi Git - linux-stable/commitdiff
perf intel-pt: Fix CYC timestamps after standalone CBR
authorAdrian Hunter <adrian.hunter@intel.com>
Mon, 3 Apr 2023 15:48:31 +0000 (18:48 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 4 Apr 2023 12:39:57 +0000 (09:39 -0300)
After a standalone CBR (not associated with TSC), update the cycles
reference timestamp and reset the cycle count, so that CYC timestamps
are calculated relative to that point with the new frequency.

Fixes: cc33618619cefc6d ("perf tools: Add Intel PT support for decoding CYC packets")
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20230403154831.8651-2-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c

index 0ac860c8dd2b809c2e65a3f38233546dde0bd4bc..7145c5890de0295a1686bdb60b219deed88a4bf6 100644 (file)
@@ -1998,6 +1998,8 @@ static void intel_pt_calc_cbr(struct intel_pt_decoder *decoder)
 
        decoder->cbr = cbr;
        decoder->cbr_cyc_to_tsc = decoder->max_non_turbo_ratio_fp / cbr;
+       decoder->cyc_ref_timestamp = decoder->timestamp;
+       decoder->cycle_cnt = 0;
 
        intel_pt_mtc_cyc_cnt_cbr(decoder);
 }