All,
You can imagine my dismay when I recently learned that, after all our
collective effort, hardware thermal throttling does not work reliably
on Barcelona, according to AMD. Due to NDA restrictions, I am unable
to provide further details.
But the effort has not been a waste; whenever AMD manages to make a
reliable hardware thermal sensor, this code should "just work" along
with all the other northbridge initialization associated with the
device IDs in k8_northbridges[].
This patch Blacklists Barcelona as non-hardware-thermal-throttlable
(in addition to RevF, which was already blacklisted). On the
recommendation of my colleagues, it also contains these politeness
enhancements: (1) warns the user if the CPU is _not_ blacklisted, but
the BIOS neglected to enable thermal throttling (as a safety measure)
and (2) uses the PCI_SLOT macro instead of the more obnoxious
shift-right-by-3 to compute PCI device numbers.
This patch assumes that it is being applied _after_ my previous patch
has already been integrated. I mailed out that patch on 1/17/2008
with subject "Re: [PATCH] AMD Thermal Interrupt Support".
--
Russell Leidich
P.S. This patch also moves the responsibility for enabling hardware
thermal control from the OS to the BIOS.
On Feb 3, 2008 10:13 PM, Russell Leidich <[email protected]> wrote:
> All,
>
> You can imagine my dismay when I recently learned that, after all our
> collective effort, hardware thermal throttling does not work reliably
> on Barcelona, according to AMD. Due to NDA restrictions, I am unable
> to provide further details.
>
> But the effort has not been a waste; whenever AMD manages to make a
> reliable hardware thermal sensor, this code should "just work" along
> with all the other northbridge initialization associated with the
> device IDs in k8_northbridges[].
>
> This patch Blacklists Barcelona as non-hardware-thermal-throttlable
> (in addition to RevF, which was already blacklisted). On the
> recommendation of my colleagues, it also contains these politeness
> enhancements: (1) warns the user if the CPU is _not_ blacklisted, but
> the BIOS neglected to enable thermal throttling (as a safety measure)
> and (2) uses the PCI_SLOT macro instead of the more obnoxious
> shift-right-by-3 to compute PCI device numbers.
>
> This patch assumes that it is being applied _after_ my previous patch
> has already been integrated. I mailed out that patch on 1/17/2008
> with subject "Re: [PATCH] AMD Thermal Interrupt Support".
> --
> Russell Leidich
>
--
Russell Leidich
On Sun, Feb 03, 2008 at 10:13:53PM -0800, Russell Leidich wrote:
> All,
>
> You can imagine my dismay when I recently learned that, after all our
> collective effort, hardware thermal throttling does not work reliably
> on Barcelona, according to AMD. Due to NDA restrictions, I am unable
> to provide further details.
Too bad. Hopefully that code will work then on the hypothetic
future parts with fixed throttling. Perhaps it would be better
to just remove it now and readd later.
All this reminds me you need to adjust the Kconfig dependencies
for K8_NB too to be always enabled with MCE_AMD.
Ideally on top of this patch with a || MCE_AMD
-Andi
---
Fix and simplify k8.c Kconfig dependencies
- Check for K8_NUMA instead of NUMA && PCI
- No need to check for x86_64 explicitely
Signed-off-by: Andi Kleen <[email protected]>
Index: linux/arch/x86/Kconfig
===================================================================
--- linux.orig/arch/x86/Kconfig
+++ linux/arch/x86/Kconfig
@@ -1540,7 +1540,7 @@ endif # X86_32
config K8_NB
def_bool y
- depends on AGP_AMD64 || (X86_64 && (GART_IOMMU || (PCI && NUMA)))
+ depends on AGP_AMD64 || GART_IOMMU || K8_NUMA
source "drivers/pcmcia/Kconfig"
On Feb 3, 2008 11:20 PM, Andi Kleen <[email protected]> wrote:
> On Sun, Feb 03, 2008 at 10:13:53PM -0800, Russell Leidich wrote:
> > All,
> >
> > You can imagine my dismay when I recently learned that, after all our
> > collective effort, hardware thermal throttling does not work reliably
> > on Barcelona, according to AMD. Due to NDA restrictions, I am unable
> > to provide further details.
>
> Too bad. Hopefully that code will work then on the hypothetic
> future parts with fixed throttling. Perhaps it would be better
> to just remove it now and readd later.
I really think it's best to leave it in. It's harmless at the moment,
and readding it later will just create a massive amount of duplicate
work. Sooner or later, I'm have little doubt that AMD can make this
feature work.
>
> All this reminds me you need to adjust the Kconfig dependencies
> for K8_NB too to be always enabled with MCE_AMD.
>
> Ideally on top of this patch with a || MCE_AMD
OK, if you'll take the patch, I'd be happy to do this :). I'm
assuming that you mean I should force K8_NB = "yes" if MCE_AMD = "yes"
in .config. Is that what you're asking for?
>
> -Andi
>
> ---
>
> Fix and simplify k8.c Kconfig dependencies
>
> - Check for K8_NUMA instead of NUMA && PCI
> - No need to check for x86_64 explicitely
>
> Signed-off-by: Andi Kleen <[email protected]>
>
> Index: linux/arch/x86/Kconfig
> ===================================================================
> --- linux.orig/arch/x86/Kconfig
> +++ linux/arch/x86/Kconfig
> @@ -1540,7 +1540,7 @@ endif # X86_32
>
> config K8_NB
> def_bool y
> - depends on AGP_AMD64 || (X86_64 && (GART_IOMMU || (PCI && NUMA)))
> + depends on AGP_AMD64 || GART_IOMMU || K8_NUMA
>
> source "drivers/pcmcia/Kconfig"
>
>
--
Russell Leidich
All,
Sorry this took so long. I have attached the Kconfig changes
requested by Andi, appended to the original patch.
On Feb 4, 2008 11:22 AM, Russell Leidich <[email protected]> wrote:
> On Feb 3, 2008 11:20 PM, Andi Kleen <[email protected]> wrote:
> > On Sun, Feb 03, 2008 at 10:13:53PM -0800, Russell Leidich wrote:
> > > All,
> > >
> > > You can imagine my dismay when I recently learned that, after all our
> > > collective effort, hardware thermal throttling does not work reliably
> > > on Barcelona, according to AMD. Due to NDA restrictions, I am unable
> > > to provide further details.
> >
> > Too bad. Hopefully that code will work then on the hypothetic
> > future parts with fixed throttling. Perhaps it would be better
> > to just remove it now and readd later.
>
> I really think it's best to leave it in. It's harmless at the moment,
> and readding it later will just create a massive amount of duplicate
> work. Sooner or later, I'm have little doubt that AMD can make this
> feature work.
>
> >
> > All this reminds me you need to adjust the Kconfig dependencies
> > for K8_NB too to be always enabled with MCE_AMD.
> >
> > Ideally on top of this patch with a || MCE_AMD
>
> OK, if you'll take the patch, I'd be happy to do this :). I'm
> assuming that you mean I should force K8_NB = "yes" if MCE_AMD = "yes"
> in .config. Is that what you're asking for?
>
> >
> > -Andi
--
Russell Leidich