• Leo Yan's avatar
    perf cs-etm: Enable itrace option 'T' · a4271827
    Leo Yan authored
    Prior to Armv8.4, the feature FEAT_TRF is not supported by Arm CPUs.
    Consequently, the sysfs node 'ts_source' will not be set as 1 by the
    CoreSight ETM driver.  On the other hand, the perf tool relies on the
    'ts_source' node to determine whether the kernel timestamp is traced.
    Since the 'ts_source' is not set for Arm CPUs prior to Armv8.4,
    platforms in this case cannot utilize the traced timestamp as the kernel
    time.
    
    This patch enables the 'T' itrace option, which forcibly utilizes the
    traced timestamp as the kernel time.  If users are aware that their
    working platform's Arm CoreSight shares the same counter with the kernel
    time, they can specify 'T' option to decode the traced timestamp as the
    kernel time.
    
    An usage example is:
    
      # perf record -e cs_etm// -- test_program
      # perf script --itrace=i10ibT
      # perf report --itrace=i10ibT
    Reviewed-by: default avatarJames Clark <james.clark@arm.com>
    Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: John Garry <john.g.garry@oracle.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mike Leach <mike.leach@linaro.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.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/20231014074513.1668000-3-leo.yan@linaro.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    a4271827
cs-etm.c 97 KB