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

Leo Yan
2020-01-13T15:23:13Z

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@linaro.org>
>
> 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