• Ian Rogers's avatar
    perf evsel: Don't let evsel__group_pmu_name() traverse unsorted group · a90cc5a9
    Ian Rogers authored
    Previously the evsel__group_pmu_name would iterate the evsel's group,
    however, the list of evsels aren't yet sorted and so the loop may
    terminate prematurely. It is also not desirable to iterate the list of
    evsels during list_sort as the list may be broken.
    
    Precompute the group_pmu_name for the evsel before sorting, as part of
    the computation and only if necessary, iterate the whole list looking
    for group members so that being sorted isn't necessary.
    
    Move the group pmu name computation to parse-events.c given the closer
    dependency on the behavior of
    parse_events__sort_events_and_fix_groups.
    
    Fixes: 7abf0bcc ("perf evsel: Add function to compute group PMU name")
    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: Changbin Du <changbin.du@huawei.com>
    Cc: Dmitrii Dolgov <9erthalion6@gmail.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: James Clark <james.clark@arm.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Sandipan Das <sandipan.das@amd.com>
    Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
    Link: https://lore.kernel.org/r/20230526194442.2355872-2-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    a90cc5a9
evsel.h 16.2 KB