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

From: Arnaldo Carvalho de Melo
Date: Mon Feb 06 2023 - 10:36:44 EST


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.

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