]> git.baikalelectronics.ru Git - kernel.git/commitdiff
perf arm-spe: Assign kernel time to synthesized event
authorLeo Yan <leo.yan@linaro.org>
Wed, 19 May 2021 07:19:37 +0000 (15:19 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 1 Jul 2021 19:14:36 +0000 (16:14 -0300)
In current code, it assigns the arch timer counter to the synthesized
samples Arm SPE trace, thus the samples don't contain the kernel time
but only contain the raw counter value.

To fix the issue, this patch converts the timer counter to kernel time
and assigns it to sample timestamp.

Signed-off-by: Leo Yan <leo.yan@linaro.org>
Reviewed-by: James Clark <james.clark@arm.com>
Tested-by: James Clark <james.clark@arm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Al Grant <Al.Grant@arm.com>
Cc: Dave Martin <Dave.Martin@arm.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: John Garry <john.garry@huawei.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Will Deacon <will@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Link: https://lore.kernel.org/r/20210519071939.1598923-4-leo.yan@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/arm-spe.c

index ff8b52e6d47553cb1d46923165365b875e3da8c3..da379328442c9c5f119b1a9c251aade235e4d9ee 100644 (file)
@@ -234,7 +234,7 @@ static void arm_spe_prep_sample(struct arm_spe *spe,
        struct arm_spe_record *record = &speq->decoder->record;
 
        if (!spe->timeless_decoding)
-               sample->time = speq->timestamp;
+               sample->time = tsc_to_perf_time(record->timestamp, &spe->tc);
 
        sample->ip = record->from_ip;
        sample->cpumode = arm_spe_cpumode(spe, sample->ip);