Re: [PATCH 1/2 v2] perf report: Fix PAI counter names for s390 virtual machines

From: Ian Rogers
Date: Mon Mar 25 2024 - 13:20:10 EST


On Thu, Mar 21, 2024 at 12:15 AM Thomas Richter <tmricht@xxxxxxxxxxxxx> wrote:
>
> s390 introduced Processor Activity Instrumentation (PAI) counter
> facility on LPAR and virtual machines z/VM for models 3931 and 3932.
> These counters are stored as raw data in the perf.data file and are
> displayed with command
>
> # ./perf report -i /tmp//perfout-635468 -D | grep Counter
> Counter:007 <unknown> Value:0x00000000000186a0
> Counter:032 <unknown> Value:0x0000000000000001
> Counter:032 <unknown> Value:0x0000000000000001
> Counter:032 <unknown> Value:0x0000000000000001
> #
>
> However on z/VM virtual machines, the counter names are not retrieved
> from the PMU and are shown as '<unknown>'.
> This is caused by the CPU string saved in the mapfile.csv for this
> machine:
>
> ^IBM.393[12].*3\.7.[[:xdigit:]]+$,3,cf_z16,core
>
> This string contains the CPU Measurement facility first and second
> version number and authorization level (3\.7.[[:xdigit:]]+).
> These numbers do not apply to the PAI counter facility.
> In fact they can be omitted.
> Shorten the CPU identification string for this machine to manufacturer
> and model. This is sufficient for all PMU devices.
>
> Output after:
> # ./perf report -i /tmp//perfout-635468 -D | grep Counter
> Counter:007 km_aes_128 Value:0x00000000000186a0
> Counter:032 kma_gcm_aes_256 Value:0x0000000000000001
> Counter:032 kma_gcm_aes_256 Value:0x0000000000000001
> Counter:032 kma_gcm_aes_256 Value:0x0000000000000001
> #
>
> Fixes: b539deafbadb ("perf report: Add s390 raw data interpretation for PAI counters")
>
> Signed-off-by: Thomas Richter <tmricht@xxxxxxxxxxxxx>
> Acked-by: Sumanth Korikkar <sumanthk@xxxxxxxxxxxxx>

Reviewed-by: Ian Rogers <irogers@xxxxxxxxxx>

Thanks,
Ian

> ---
> tools/perf/pmu-events/arch/s390/mapfile.csv | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/pmu-events/arch/s390/mapfile.csv b/tools/perf/pmu-events/arch/s390/mapfile.csv
> index a918e1af77a5..b22648d12751 100644
> --- a/tools/perf/pmu-events/arch/s390/mapfile.csv
> +++ b/tools/perf/pmu-events/arch/s390/mapfile.csv
> @@ -5,4 +5,4 @@ Family-model,Version,Filename,EventType
> ^IBM.296[45].*[13]\.[1-5].[[:xdigit:]]+$,1,cf_z13,core
> ^IBM.390[67].*[13]\.[1-5].[[:xdigit:]]+$,3,cf_z14,core
> ^IBM.856[12].*3\.6.[[:xdigit:]]+$,3,cf_z15,core
> -^IBM.393[12].*3\.7.[[:xdigit:]]+$,3,cf_z16,core
> +^IBM.393[12].*$,3,cf_z16,core
> --
> 2.44.0
>