Re: [PATCH 1/2] perf vendor events: Add stepping in CPUID string for x86
From: Jiri Olsa
Date: Thu Nov 15 2018 - 15:44:17 EST
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