Re: [PATCH 1/2] perf vendor events: Add stepping in CPUID string for x86

From: Arnaldo Carvalho de Melo
Date: Wed Nov 21 2018 - 07:22:50 EST


Em Thu, Nov 15, 2018 at 04:01:46PM -0500, Liang, Kan escreveu:
>
>
> On 11/15/2018 3:44 PM, Jiri Olsa wrote:
> > On Wed, Nov 14, 2018 at 01:24:15PM -0800, kan.liang@xxxxxxxxxxxxxxx wrote:
> > > From: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
> > >
> > > Perf tools cannot find the proper event list for Cascadelake server.
> > > Because Cascadelake server and Skylake server have the same CPU model
> > > number, which are used by perf tools to find the event list.
> > >
> > > The stepping for Skylake server is up to 4.
> > > The stepping for Cascadelake server starts from 5.
> > > The stepping can be used to distinguish between them.
> > >
> > > The stepping is added in get_cpuid_str().
> > > The stepping information for Skylake server is updated in mapfile.csv.
> > > A x86 specific strcmp_cpuid_cmp() function is added to handle two CPUID
> > > formats in mapfile.csv, "vendor-family-model-stepping" and
> > > "vendor-family-model".
> > > - If a cpuid-regular-expression from the mapfile.csv using the new
> > > stepping format, a cpuid-string generated on the machine must include
> > > stepping. Otherwise, it is a mismatch.
> > > - If the cpuid-regular-expression using the old non-stepping format,
> > > the stepping in the cpuid-string will be ignored.
> > >
> > > The script, which using environment string "PERF_CPUID" without stepping
> > > on Skylake server, will be broken. If so, users must fix their scripts.
> > >
> > > Signed-off-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
> >
> > Reviewed-by: Jiri Olsa <jolsa@xxxxxxxxxx>

> Thanks Jirka,

> Hi Arnaldo,

> Are you OK with the patch?
> If yes, I will go ahead to cleanup the *_cpuid_str() by moving them to
> header.c as promised. https://lkml.org/lkml/2018/11/15/929
> The new patch will be on top of this patch.

Looks ok after reading the discussion between you and Jiri, will now
look at the patch that Jiri reviewed.

- Arnaldo