Re: [PATCH] x86/perf/zhaoxin: Add stepping check for ZX-C

From: silviazhaooc
Date: Tue Feb 07 2023 - 03:42:39 EST



On 2023/2/6 19:13, Borislav Petkov wrote:
Hi Silvia,

On Mon, Feb 06, 2023 at 06:55:21PM +0800, silviazhaooc wrote:
Thanks for your reply.

You're welcome.

First of all, please do not top-post when replying on a public mailing
list but put your reply under the text you're replying to. Like the rest
of us do.

Sorry, I'm a newbie in Linux. Thanks for your reminding.

As I mentioned before, Nano has several series. We cannot test if all of
them have the bug.

If you cannot test if all of them have the bug, then testing the
stepping as you do is wrong too.

You need an unambiguous way to differentiate between ZXC and Nano CPUs.

If steppings >= 0xe belong solely to ZXC, then state that in a comment
above it so that you can exclude Nano.

If Nano starts using those steppings later, though, then that check will
become wrong too.

So I need a statement: "this is how you detect a ZXC CPU unambiguously"
and then use that method when enabling PMU support on it and *only* on
it.

Makes more sense?

Yes, that makes sense.

I have carefully checked our product manual for Nano and ZXC FMS.

For ZXC, there are 2 kinds of FMS:

1. Family=6, Model=0x19, Stepping=0-3

2. Family=6, Model=F, Stepping=E-F

For Nano, there is only one kind of FMS:

Family=6, Model=F, Stepping=[0-A]/[C-D]

So model = 0xf, steppings >= 0xe or model = 0x19 belong solely to ZXC.
Nano is an old CPU series which has been stopped production several years ago. It will not use the steppings which belong to ZXC.This is an unambiguous way to differentiate between ZXC and Nano CPUs.

Do I need to add the statements in the source code and re-commit the patch?

Thx.

Thx.