• German Gomez's avatar
    perf cs_etm: Set the time field in the synthetic samples · a7fe9a44
    German Gomez authored
    If virtual timestamps are detected, set sample time field accordingly,
    otherwise warn the user that the samples will not include accurate
    time data.
    
      | Test notes (FEAT_TRF platform)
      |
      | $ ./perf record -e cs_etm//u -a -- sleep 4
      | $ ./perf script --fields +time
      | 	    perf   422 [000]   163.375100:          1 branches:uH:                 0 [unknown] ([unknown])
      | 	    perf   422 [000]   163.375100:          1 branches:uH:      ffffb8009544 ioctl+0x14 (/lib/aarch64-linux-gnu/libc-2.27.so)
      | 	    perf   422 [000]   163.375100:          1 branches:uH:      aaaaab6bebf4 perf_evsel__run_ioctl+0x90 (/home/german/linux/tools/perf/perf)
      | [...]
      | 	    perf   422 [000]   167.393100:          1 branches:uH:      aaaaab6bda00 __xyarray__entry+0x74 (/home/german/linux/tools/perf/perf)
      | 	    perf   422 [000]   167.393099:          1 branches:uH:      aaaaab6bda0c __xyarray__entry+0x80 (/home/german/linux/tools/perf/perf)
      | 	    perf   422 [000]   167.393099:          1 branches:uH:      ffffb8009538 ioctl+0x8 (/lib/aarch64-linux-gnu/libc-2.27.so)
      |
      | The time from the first sample to the last sample is 4 seconds
    
    Now that times are converted to nanoseconds, also try to estimate the
    timestamps more accurately be dividing by some fixed value for
    instructions per ns. This prevents long ranges from being estimated
    too far in the past than would be realistic.
    Signed-off-by: default avatarGerman Gomez <german.gomez@arm.com>
    Acked-by: default avatarSuzuki Poulouse <suzuki.poulose@arm.com>
    Tested-by: default avatarTanmay Jagdale <tanmay@marvell.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Bharat Bhushan <bbhushan2@marvell.com>
    Cc: George Cherian <gcherian@marvell.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: John Garry <john.g.garry@oracle.com>
    Cc: Leo Yan <leo.yan@linaro.org>
    Cc: Linu Cherian <lcherian@marvell.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Mike Leach <mike.leach@linaro.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Sunil Kovvuri Goutham <sgoutham@marvell.com>
    Cc: Will Deacon <will@kernel.org>
    Cc: coresight@lists.linaro.org
    Cc: linux-arm-kernel@lists.infradead.org
    Link: https://lore.kernel.org/r/20230120143702.4035046-8-james.clark@arm.comSigned-off-by: default avatarJames Clark <james.clark@arm.com>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    a7fe9a44
cs-etm-decoder.c 23.1 KB