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

From: Liang, Kan
Date: Mon Feb 06 2023 - 10:50:49 EST




On 2023-02-06 10:34 a.m., Arnaldo Carvalho de Melo wrote:
> Em Mon, Feb 06, 2023 at 12:32:54PM -0300, Arnaldo Carvalho de Melo escreveu:
>> Em Mon, Feb 06, 2023 at 10:17:46AM -0500, Liang, Kan escreveu:
>>>
>>>
>>> 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.
>>
>> Can you please send this as a separate patch as I already merged
>> torvalds/master and added more csets on top, so to just fix it and
>> force push now would be bad.
>>
>> Please use what is in my perf/core branch and add a Fixes for that v2
>> patch.
>
> BTW, the 3rd patch with the test is already on the tmp.perf/core branch,
> that will move to perf/core after the next round of container build
> tests.
>

Thanks. I will sent a V4 to fix the 'perf test' issue.

Thanks,
Kan
> - Arnaldo
>
>> Thanks,
>>
>> - Arnaldo
>>
>>> @@ -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
>>>>>
>>>>
>>
>> --
>>
>> - Arnaldo
>