[PATCH V4 1/2] perf event: Fix the Retire Latency sample_type check failure

From: kan . liang
Date: Mon Feb 06 2023 - 11:21:16 EST


From: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>

perf test -v "x86 sample parsing"
74: x86 Sample parsing :
--- start ---
test child forked, pid 72526
Samples differ at 'retire_lat'
parsing failed for sample_type 0x1000000
test child finished with -1
---- end ----
x86 Sample parsing: FAILED!

In the arch_perf_synthesize_sample_weight(), the retire_lat is
mistakenly missed.

Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Signed-off-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
---
tools/perf/arch/x86/util/event.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/tools/perf/arch/x86/util/event.c b/tools/perf/arch/x86/util/event.c
index 37b3feb53e8d..e4288d09f3a0 100644
--- a/tools/perf/arch/x86/util/event.c
+++ b/tools/perf/arch/x86/util/event.c
@@ -101,6 +101,7 @@ void arch_perf_synthesize_sample_weight(const struct perf_sample *data,
if (type & PERF_SAMPLE_WEIGHT_STRUCT) {
*array &= 0xffffffff;
*array |= ((u64)data->ins_lat << 32);
+ *array |= ((u64)data->retire_lat << 48);
}
}

--
2.35.1