• Ian Rogers's avatar
    perf pmu: Sort and remove duplicates using JSON PMU name · 3f980eab
    Ian Rogers authored
    We may have a lot of copies of a particular uncore PMU, such as
    uncore_cha_0 to uncore_cha_59 on Intel sapphirerapids.
    
    The JSON events may match each of PMUs and so the events are copied to
    it.
    
    In 'perf list' this means we see the same JSON event 60 times as events
    on different PMUs don't have duplicates removed.
    
    There are 284 uncore_cha events on sapphirerapids.
    
    Rather than use the PMU's name to sort and remove duplicates, use the
    JSON PMU name.
    
    This reduces the 60 copies back down to 1 and has the side effect of
    speeding things like the "perf all PMU test" shell test.
    Signed-off-by: default avatarIan Rogers <irogers@google.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: James Clark <james.clark@arm.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Ravi Bangoria <ravi.bangoria@amd.com>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Sean Christopherson <seanjc@google.com>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Link: https://lore.kernel.org/r/20230406235256.2768773-1-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    3f980eab
pmu.c 45.7 KB