RE: [REGRESSION] amd-pstate doesn't work since v5.18.11

Limonciello, Mario
2022-07-12T17:50:41Z

[Public]

+ Ray

> -----Original Message-----
> From: Yuan, Perry <Perry.Yuan@amd.com>
> Sent: Tuesday, July 12, 2022 12:50
> To: Oleksandr Natalenko <oleksandr@natalenko.name>; Limonciello, Mario
> <Mario.Limonciello@amd.com>; linux-kernel@vger.kernel.org
> Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>; Sasha Levin
> <sashal@kernel.org>; x86@kernel.org; H. Peter Anvin <hpa@zytor.com>;
> Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Subject: RE: [REGRESSION] amd-pstate doesn't work since v5.18.11
>
> [AMD Official Use Only - General]
>
> Hi Oleksandr:
>
> > -----Original Message-----
> > From: Oleksandr Natalenko <oleksandr@natalenko.name>
> > Sent: Wednesday, July 13, 2022 1:40 AM
> > To: Limonciello, Mario <Mario.Limonciello@amd.com>; linux-
> > kernel@vger.kernel.org
> > Cc: Yuan, Perry <Perry.Yuan@amd.com>; Rafael J. Wysocki
> > <rafael.j.wysocki@intel.com>; Sasha Levin <sashal@kernel.org>;
> > x86@kernel.org; H. Peter Anvin <hpa@zytor.com>; Greg Kroah-Hartman
> > <gregkh@linuxfoundation.org>
> > Subject: [REGRESSION] amd-pstate doesn't work since v5.18.11
> >
> > [CAUTION: External Email]
> >
> > Hello Mario.
> >
> > The following commits were pulled into v5.18.11:
> >
> > ```
> > $ git log --oneline --no-merges v5.18.10..v5.18.11 | grep ACPI
> > 2783414e6ef7 ACPI: CPPC: Don't require _OSC if X86_FEATURE_CPPC is
> > supported
> > 3068cfeca3b5 ACPI: CPPC: Only probe for _CPC if CPPC v2 is acked
> > 8beb71759cc8 ACPI: bus: Set CPPC _OSC bits for all and when CPPC_LIB is
> > supported
> > 13bb696dd2f3 ACPI: CPPC: Check _OSC for flexible address space ```
> >
> > and now this happens:
> >
> > ```
> > $ sudo modprobe amd-pstate shared_mem=1
> > modprobe: ERROR: could not insert 'amd_pstate': No such device ```
> >
> > With v5.18.10 this worked just fine.
> >
> > In your upstream commit 8b356e536e69f3a4d6778ae9f0858a1beadabb1f
> > you write:
> >
> > ```
> > If there is additional breakage on the shared memory designs also missing
> > this _OSC, additional follow up changes may be needed.
> > ```
> >
> > So the question is what else should be pulled into the stable tree to
> > unbreak amd-pstate?
> >
> > Thanks.
> >
> > --
> > Oleksandr Natalenko (post-factum)
> >
>
> Could you share the lscpu output ?
>
> Perry.

Thanks this is the sort of thing I was worried might happen as a result of requiring
the _OSC. It was introduced as part of that commit 8beb71759cc8.

To solve it I think we need to add more things to cpc_supported_by_cpu
(https://github.com/torvalds/linux/blob/525496a030de4ae64bb9e1d6bfc88eec6f5fe6e2/arch/x86/kernel/acpi/cppc.c#L19)

The question is how do we safely detect the shared memory designs?
These are a fixed quantity as newer designs /should/ be using the MSR.

I am tending to thing that unfortunately we need to have an allow-list of shared
memory design here unless someone has other ideas.