Re: [RFC PATCH v4 2/6] perf stat: Fork and launch perf record when perf stat needs to get retire latency value for a metric.

From: Andi Kleen
Date: Tue Mar 12 2024 - 20:03:27 EST


weilin.wang@xxxxxxxxx writes:

> From: Weilin Wang <weilin.wang@xxxxxxxxx>
>
> When retire_latency value is used in a metric formula, perf stat would fork a
> perf record process with "-e" and "-W" options. Perf record will collect
> required retire_latency values in parallel while perf stat is collecting
> counting values.

How does that work when the workload is specified on the command line?
The workload would run twice? That is very inefficient and may not
work if it's a large workload.

The perf tool infrastructure is imho not up to the task of such
parallel collection.

Also it won't work for very long collections because you will get a
very large perf.data. Better to use a pipeline.

I think it would be better if you made it a separate operation that can
generate a file that is then consumed by perf stat. This is also more efficient
because often the calibration is only needed once. And it's all under
user control so no nasty surprises.

-Andi