Re: [PATCH 2/8 v2] acpi-cpufreq: Add quirk to disable _PSD usageon all AMD CPUs

From: Andre Przywara
Date: Mon Sep 17 2012 - 03:42:26 EST


On 09/15/2012 01:20 PM, Konrad Rzeszutek Wilk wrote:

On Sep 4, 2012 4:26 AM, "Andre Przywara" <andre.przywara@xxxxxxx
<mailto:andre.przywara@xxxxxxx>> wrote:
>
> To workaround some Windows specific behavior, the ACPI _PSD table
> on AMD desktop boards advertises all cores as dependent, meaning
> that they all can only use the same P-state. acpi-cpufreq strictly
> obeys this description, instantiating one CPU only and symlinking
> the others. But the hardware can have distinct frequencies for each
> core and powernow-k8 did it that way.
> So, in order to use the hardware to its full potential and keep the
> original powernow-k8 behavior, lets override the _PSD table setting
> on AMD hardware.

Can you tell on which motherboards this different freq on cores can be
exposed?

Actually I think the motherboard is not the limiting factor here.
Per-core P-states are possible on AMD Family 10h and greater CPUs, so Phenoms/Barcelona and beyond. You may need an AM2+/AM3 board, though. Fam10h CPUs run in some older AM2-only boards, but the power-management capabilities may be limited here. This definitely applies to the voltage (single power plane only), but the older BIOS on these boards may limit the frequency switching also.

The actual reason for this patch is the (Fam10h) BKDG [1] recommendation in chapter 2.4.2.13.4 _PSD (P-State Dependency). There advertising only one possible P-state per package is recommended - for desktop CPUs (which are supposed to run Windows ;-)
This was to overcome some nasty interaction between the Windows scheduler and their version of the ondemand governor.

Regards,
Andre.

[1] http://support.amd.com/us/Processor_TechDocs/31116.pdf

--
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/