Re: [PATCH v4 1/2] perf parse: Refactor struct perf_evsel_config_term

From: Leo Yan
Date: Mon Jan 13 2020 - 10:23:13 EST


On Fri, Jan 10, 2020 at 04:04:22PM +0100, Jiri Olsa wrote:
> On Wed, Jan 08, 2020 at 10:20:09PM +0800, Leo Yan wrote:
> > The struct perf_evsel_config_term::val is a union which contains
> > multiple variables for corresponding types. This leads the union to
> > be complex and also causes complex code logic.
> >
> > This patch refactors the structure to use two general variables in the
> > 'val' union: one is 'num' for unsigned 64-bit integer and another is
> > 'str' for string variable. This can simplify the data structure and
> > the related code, this also can benefit for possibly extension.
> >
> > Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx>
>
> there's some arch code that needs to be changed.. please
> change other archs as well
>
>
> CC arch/x86/util/intel-pt.o
> arch/x86/util/intel-pt.c: In function âintel_pt_config_sample_modeâ:
> arch/x86/util/intel-pt.c:563:24: error: âunion <anonymous>â has no member named âcfg_chgâ
> 563 | user_bits = term->val.cfg_chg;

This compiling error will be dismissed in patch v5, since val.cfg_chg
is kept in the structure.

Thanks,
Leo