• James Clark's avatar
    perf cs-etm: Add separate decode paths for timeless and per-thread modes · d1efa4a0
    James Clark authored
    Timeless and per-thread are orthogonal concepts that are currently
    treated as if they are the same (per-thread == timeless). This breaks
    when you modify the command line or itrace options to something that the
    current logic doesn't expect.
    
    For example:
    
      # Force timeless with Z
      --itrace=Zi10i
    
      # Or inconsistent record options
      -e cs_etm/timestamp=1/ --per-thread
    
    Adding Z for decoding in per-cpu mode is particularly bad because in
    per-thread mode trace channel IDs are discarded and all assumed to be 0,
    which would mix trace from different CPUs in per-cpu mode.
    
    Although the results might not be perfect in all scenarios, if the user
    requests no timestamps, it should still be possible to decode in either
    mode. Especially if the relative times of samples in different processes
    aren't interesting, quite a bit of space can be saved by turning off
    timestamps in per-cpu mode.
    Signed-off-by: default avatarJames Clark <james.clark@arm.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Denis Nikitin <denik@google.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: Leo Yan <leo.yan@linaro.org>
    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: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: Will Deacon <will@kernel.org>
    Cc: Yang Shi <shy828301@gmail.com>
    Cc: coresight@lists.linaro.org
    Cc: linux-arm-kernel@lists.infradead.org
    Link: https://lore.kernel.org/r/20230424134748.228137-8-james.clark@arm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    d1efa4a0
cs-etm.c 93.2 KB