Re: [PATCH V3 3/3] perf test: Support the retire_lat check

From: Liang, Kan
Date: Mon Feb 06 2023 - 10:17:58 EST




On 2023-02-06 10:01 a.m., Arnaldo Carvalho de Melo wrote:
> Em Thu, Feb 02, 2023 at 11:22:09AM -0800, kan.liang@xxxxxxxxxxxxxxx escreveu:
>> From: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
>>
>> Add test for the new field for Retire Latency in the X86 specific test.
>
> Is this passing 'perf test' for you?

Ah, it should be the original V2 missed the below change.

@@ -100,5 +101,25 @@ 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);
}
}

Could you please remove the V2 and re-apply the V3?

$ sudo ./perf test -v "x86 sample parsing"
74: x86 Sample parsing :
--- start ---
test child forked, pid 3316797
test child finished with 0
---- end ----
x86 Sample parsing: Ok


Thanks,
Kan

>
> [root@quaco ~]# 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!
> [root@quaco ~]#
>
> - Arnaldo
>
>> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
>> ---
>>
>> New patch since V2
>>
>> tools/perf/arch/x86/tests/sample-parsing.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/tools/perf/arch/x86/tests/sample-parsing.c b/tools/perf/arch/x86/tests/sample-parsing.c
>> index 690c7c07e90d..a061e8619267 100644
>> --- a/tools/perf/arch/x86/tests/sample-parsing.c
>> +++ b/tools/perf/arch/x86/tests/sample-parsing.c
>> @@ -27,8 +27,10 @@ static bool samples_same(const struct perf_sample *s1,
>> const struct perf_sample *s2,
>> u64 type)
>> {
>> - if (type & PERF_SAMPLE_WEIGHT_STRUCT)
>> + if (type & PERF_SAMPLE_WEIGHT_STRUCT) {
>> COMP(ins_lat);
>> + COMP(retire_lat);
>> + }
>>
>> return true;
>> }
>> @@ -48,6 +50,7 @@ static int do_test(u64 sample_type)
>> struct perf_sample sample = {
>> .weight = 101,
>> .ins_lat = 102,
>> + .retire_lat = 103,
>> };
>> struct perf_sample sample_out;
>> size_t i, sz, bufsz;
>> --
>> 2.35.1
>>
>