Re: [PATCH 6/9] perf report: Support instruction latency

From: Liang, Kan
Date: Fri Feb 05 2021 - 17:37:46 EST




On 2/5/2021 7:55 AM, Athira Rajeev wrote:
Because in other archs, the var2_w of ‘perf_sample_weight’ could be used to capture something else than the Local INSTR Latency.
Can we have some weak function to populate the header string ?
I agree that the var2_w has different meanings among architectures. We should not force it to data->ins_lat.

The patch as below should fix it. Does it work for you?
My point about weak function was actually for the arch specific header string. But I guess we should not force it to data->ins_lat

Yes, I don't think PowerPC should force var2_w to data->ins_lat. I think you can create your own field.

as you mentioned. I checked the below patch defining an ‘arch_perf_parse_sample_weight' for powerpc and it works.

But one observation is that, for cases with kernel having support for PERF_SAMPLE_WEIGHT_STRUCT but missing arch specific support for ‘arch_perf_parse_sample_weight', it will report ‘Local Weight’ wrongly since weak function takes it as 64 bit. Not sure if that is a valid case to consider though.

Currently, the PERF_SAMPLE_WEIGHT_STRUCT is only enabled on X86 by default.
https://lore.kernel.org/lkml/1612296553-21962-6-git-send-email-kan.liang@xxxxxxxxxxxxxxx/

For PowerPC, the PERF_SAMPLE_WEIGHT is still the default setting. There is no way to set PERF_SAMPLE_WEIGHT_STRUCT via perf tool.
I don't think the above case will happen.

Thanks,
Kan