• James Clark's avatar
    perf cs-etm: Use struct perf_cpu as much as possible · cbaf2c4f
    James Clark authored
    The perf_cpu struct makes some iterators simpler and avoids some
    mistakes with interchanging CPU IDs with indexes etc. At the moment in
    this file the conversion to an integer is done somewhere in the middle
    of the call tree. Change it to delay the conversion to an int until the
    leaf functions.
    
    Some of the usage patterns are duplicated, so instead of changing them
    all, make cs_etm_get_ro() more reusable and use that everywhere.
    cs_etm_get_ro() didn't return an error before, but return one now so
    that it can also be used where an error is needed. Continue to ignore
    the error where it was already ignored.
    
    Use cs_etm_pmu_path_exists() instead of cs_etm_get_ro() in
    cs_etm_is_etmv4() because cs_etm_get_ro() prints a warning, but path
    exists is sufficient for this use case.
    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: Ingo Molnar <mingo@redhat.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: John Garry <john.g.garry@oracle.com>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Leo Yan <leo.yan@linux.dev>
    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>
    Link: https://lore.kernel.org/r/20240501135753.508022-2-james.clark@arm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    cbaf2c4f
cs-etm.c 26.8 KB