• James Clark's avatar
    perf cs-etm: Use previous thread for branch sample source IP · d67d8c87
    James Clark authored
    Branch samples currently use the IP of the previous packet as the from
    IP, and the IP of the current packet as the to IP. But it incorrectly
    uses the current thread. In some cases like a jump into a different
    exception level this will attribute to the incorrect process.
    
    Fix it by tracking the previous thread in the same way the previous
    packet is tracked.
    
    Committer notes:
    
    Resolved conflicts with:
    
      perf addr_location: Add init/exit/copy functions
      perf thread: Add accessor functions for thread
    Reviewed-by: default avatarMike Leach <mike.leach@linaro.org>
    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: Ian Rogers <irogers@google.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: 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: http://lore.kernel.org/lkml/20230612111403.100613-3-james.clark@arm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    d67d8c87
cs-etm.c 93.5 KB