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

Jiri Olsa
2020-01-10T15:04:39Z

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;

thanks,
jirka