[Public] > -----Original Message----- > From: Dave Hansen <dave.hansen@xxxxxxxxx> > Sent: Thursday, September 22, 2022 16:22 > To: Andreas Mohr <andi@xxxxxxxx> > Cc: Nayak, K Prateek <KPrateek.Nayak@xxxxxxx>; linux- > kernel@xxxxxxxxxxxxxxx; rafael@xxxxxxxxxx; lenb@xxxxxxxxxx; linux- > acpi@xxxxxxxxxxxxxxx; linux-pm@xxxxxxxxxxxxxxx; > dave.hansen@xxxxxxxxxxxxxxx; bp@xxxxxxxxx; tglx@xxxxxxxxxxxxx; > puwen@xxxxxxxx; Limonciello, Mario <Mario.Limonciello@xxxxxxx>; > peterz@xxxxxxxxxxxxx; rui.zhang@xxxxxxxxx; gpiccoli@xxxxxxxxxx; > daniel.lezcano@xxxxxxxxxx; Narayan, Ananth <Ananth.Narayan@xxxxxxx>; > Shenoy, Gautham Ranjal <gautham.shenoy@xxxxxxx>; Ong, Calvin > <Calvin.Ong@xxxxxxx>; stable@xxxxxxxxxxxxxxx; > regressions@xxxxxxxxxxxxxxx > Subject: Re: [PATCH] ACPI: processor_idle: Skip dummy wait for processors > based on the Zen microarchitecture > > On 9/22/22 13:10, Andreas Mohr wrote: > > (- but then what about other more modern chipsets?) > > > > --> we need to achieve (hopefully sufficiently precisely) a solution which > > takes into account Zen3 STPCLK# improvements while > > preserving "accepted" behaviour/requirements on *all* STPCLK#- > hampered chipsets > > ("STPCLK# I/O wait is default/traditional handling"?). > > Ideally, sure. But, we're talking about theoretically regressing the > idle behavior of some indeterminate set of old systems, the majority of > which are sitting in a puddle of capacitor goo at the bottom of a > landfill right now. This is far from an ideal situation. > > FWIW, I'd much rather do something like > > if ((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) && > (boot_cpu_data.x86_model >= 0xF)) > return; > > inl(slow_whatever); > > than a Zen check. AMD has, as far as I know, been a lot more sequential > and sane about model numbers than Intel, and there are some AMD model > number range checks in the codebase today. > > A check like this would also be _relatively_ future-proof in the case > that X86_FEATURE_ZEN stops getting set on future AMD CPUs. That's a lot > more likely than AMD going and reusing a <0xF model. If you're going to use a family check instead it should be 0x17 or newer. (c->x86 >= 0x17) That does match what's used to set X86_FEATURE_ZEN at least then right now too.