Re: [PATCH] perf: Fix interpretation of branch records

From: Arnaldo Carvalho de Melo
Date: Fri Dec 02 2022 - 13:34:02 EST


Em Thu, Dec 01, 2022 at 09:46:53AM +0530, Anshuman Khandual escreveu:
>
>
> On 11/30/22 22:21, James Clark wrote:
> > Commit 93315e46b000 ("perf/core: Add speculation info to branch
> > entries") added a new field in between type and new_type. Perf has
> > its own copy of this struct so update it to match the kernel side.
> >
> > This doesn't currently cause any issues because new_type is only used
> > by the Arm BRBE driver which isn't merged yet.
> >
> > Fixes: 93315e46b000 ("perf/core: Add speculation info to branch entries")
> > Signed-off-by: James Clark <james.clark@xxxxxxx>
>
> Again, problem from having the same structure in two different places

Indeed, this was my first reaction, how about backward compatibility, is
this really an ABI?

- Arnaldo

> Reviewed-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>

> > ---
> > tools/perf/util/branch.h | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/util/branch.h b/tools/perf/util/branch.h
> > index d6017c9b1872..3ed792db1125 100644
> > --- a/tools/perf/util/branch.h
> > +++ b/tools/perf/util/branch.h
> > @@ -22,9 +22,10 @@ struct branch_flags {
> > u64 abort:1;
> > u64 cycles:16;
> > u64 type:4;
> > + u64 spec:2;
> > u64 new_type:4;
> > u64 priv:3;
> > - u64 reserved:33;
> > + u64 reserved:31;
> > };
> > };
> > };

--

- Arnaldo