From: Kan Liang Date: Mon, 6 Feb 2023 16:20:59 +0000 (-0800) Subject: perf event x86: Add retire_lat when synthesizing PERF_SAMPLE_WEIGHT_STRUCT X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=957ed139d760fb5257e5a587f78a339e23d9b741;p=linux.git perf event x86: Add retire_lat when synthesizing PERF_SAMPLE_WEIGHT_STRUCT In arch_perf_synthesize_sample_weight(), the retire_lat was mistakenly missed, add it. 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! Reported-by: Arnaldo Carvalho de Melo Signed-off-by: Kan Liang Tested-by: Arnaldo Carvalho de Melo Cc: Andi Kleen Cc: Ian Rogers Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Stephane Eranian Link: https://lore.kernel.org/r/20230206162100.3329395-1-kan.liang@linux.intel.com Signed-off-by: Arnaldo Carvalho de Melo --- diff --git a/tools/perf/arch/x86/util/event.c b/tools/perf/arch/x86/util/event.c index 37b3feb53e8d7..e4288d09f3a0f 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); } }