Re: [PATCH v2 4/5] perf x86 evlist: Update comments on topdown regrouping

From: Namhyung Kim
Date: Mon Mar 10 2025 - 17:26:06 EST


Hello,

On Thu, Mar 06, 2025 at 06:39:05PM -0800, Ian Rogers wrote:
> From: Dapeng Mi <dapeng1.mi@xxxxxxxxxxxxxxx>
>
> Update to remove comments about groupings not working and with the:
> ```
> perf stat -e "{instructions,slots},{cycles,topdown-retiring}"
> ```
> case that now works.
>
> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>

Dapeng, can I get your Signed-off-by here?

Thanks,
Namhyung

> ---
> tools/perf/arch/x86/util/evlist.c | 27 ++++++---------------------
> 1 file changed, 6 insertions(+), 21 deletions(-)
>
> diff --git a/tools/perf/arch/x86/util/evlist.c b/tools/perf/arch/x86/util/evlist.c
> index ed205d1b207d..7905a28d7734 100644
> --- a/tools/perf/arch/x86/util/evlist.c
> +++ b/tools/perf/arch/x86/util/evlist.c
> @@ -39,28 +39,13 @@ int arch_evlist__cmp(const struct evsel *lhs, const struct evsel *rhs)
> * 26,319,024 slots
> * 2,427,791 instructions
> * 2,683,508 topdown-retiring
> - *
> - * If slots event and topdown metrics events are not in same group, the
> - * topdown metrics events must be first event after the slots event group,
> - * otherwise topdown metrics events can't be regrouped correctly, e.g.
> - *
> - * a. perf stat -e "{instructions,slots},cycles,topdown-retiring" -C0 sleep 1
> - * WARNING: events were regrouped to match PMUs
> - * Performance counter stats for 'CPU(s) 0':
> - * 17,923,134 slots
> - * 2,154,855 instructions
> - * 3,015,058 cycles
> - * <not supported> topdown-retiring
> - *
> - * If slots event and topdown metrics events are in two groups, the group which
> - * has topdown metrics events must contain only the topdown metrics event,
> - * otherwise topdown metrics event can't be regrouped correctly as well, e.g.
> - *
> - * a. perf stat -e "{instructions,slots},{topdown-retiring,cycles}" -C0 sleep 1
> + * e. slots event and metrics event are in a group and not adjacent
> + * perf stat -e "{instructions,slots},cycles,topdown-retiring" -C0 sleep 1
> * WARNING: events were regrouped to match PMUs
> - * Error:
> - * The sys_perf_event_open() syscall returned with 22 (Invalid argument) for
> - * event (topdown-retiring)
> + * 68,433,522 slots
> + * 8,856,102 topdown-retiring
> + * 7,791,494 instructions
> + * 11,469,513 cycles
> */
> if (topdown_sys_has_perf_metrics() &&
> (arch_evsel__must_be_in_group(lhs) || arch_evsel__must_be_in_group(rhs))) {
> --
> 2.49.0.rc0.332.g42c0ae87b1-goog
>