Bug 8075

Summary: powernow-k8: MP systems not supported by PSB BIOS structure
Product: Power Management Reporter: Hadmut Danisch (hadmut)
Component: cpufreqAssignee: Thomas Renninger (trenn)
Status: CLOSED CODE_FIX    
Severity: normal CC: acpi-bugzilla, andi-bz, davemilter, duaneg, jim, protasnb, tmcken, tobias.g.hoglund, trenn, yann
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.20 Subsystem:
Regression: --- Bisected commit-id:
Attachments: Just before kernel crash
Actual kernel diump trace
Just before crash with apci=off option
First part of the kernel trace
Final part of the kernel trace.
kernel config

Description Hadmut Danisch 2007-02-24 03:24:17 UTC
Most recent kernel where this bug did *NOT* occur: Debian 2.6.18-3-k7
Distribution: Debian
Hardware Environment: AMD Athlon(tm) 64 X2 Dual Core Processor 3600+, Asus Board

Software Environment: Debian
Problem Description:


Hi,

after replacing the Debian 2.6.18-3-k7 kernel with a self-compiled 2.6.20 the
cpu frequenc skaling does not work anymore. The sysfs entries are completely
missing and dmesg says

powernow-k8: Found 2 AMD Athlon(tm) 64 X2 Dual Core Processor 3600+ processors
(version 2.00.00)
powernow-k8: MP systems not supported by PSB BIOS structure
powernow-k8: MP systems not supported by PSB BIOS structure


regards
Comment 1 Len Brown 2007-02-25 22:07:46 UTC
appears to be powernow-k8 specific, not ACPI specific.
Comment 2 Dave Jones 2007-02-25 22:29:25 UTC
please attach the output of grep POWERNOW .config

also, the powernow parts of the dmesg from the working kernel might be useful.
Comment 3 Mark Langsdorf 2007-02-26 09:35:29 UTC
It's an ACPI bug, not a PowerNow! bug.

The PowerNow! driver calls acpi_processor_register_performance().  If that
fails, it tries to get the pstate data from the PSB BIOS structure.  Multicore
and Multiprocessor systems are not supported by the PSB BIOS structure, so the
driver has no pstate data and fails to instantiate.

If 2.6.18 worked, there is a regression in acpi_processor_register_performance()
in 2.6.20.
Comment 4 Todd McKenzie 2007-03-07 08:56:50 UTC
seeing a very similar message with kernel 2.6.18-8 on a dual AMDx86

PCI: Failed to allocate mem resource #6:20000@f8000000 for 0000:09:00.0
powernow-k8: MP systems not supported by PSB BIOS structure
powernow-k8: MP systems not supported by PSB BIOS structure
Comment 5 Mark Langsdorf 2007-03-07 09:07:41 UTC
Again, this message happens when Linux can't find or decode the _PSS objects. 
Make sure you have the ACPI processor module enabled and loaded before enabling
powernow-k8
Comment 6 Yann Golanski 2007-03-14 14:04:41 UTC
I have the same problem booting from CD (Gentoo, Ubuntu and Fedora core) iwth my
dual AMD64 X2.  Setting the kernel to acpi=off does not work either.  The kernel
panics.

I'm happy to test a new kernel but since I do not have a Linux install, it maybe
hard.  Still, please let me know (yann-AT-kierun-org) if I can test this. 
Comment 7 Thomas Renninger 2007-03-14 16:26:27 UTC
Can you pls attach acpidump output (best check for BIOS updates before and 
update, after doing that send acpidump output).

Yann: The kernel panics.
Why do you think this is related?
Can you give us a bit more details about the panic (last function accessed, 
best would be the whole backtrace of last processed functions).
Comment 8 Yann Golanski 2007-03-15 12:55:06 UTC
Created attachment 10783 [details]
Just before kernel crash

This is just before the kernel crash.
Comment 9 Yann Golanski 2007-03-15 12:55:51 UTC
Created attachment 10784 [details]
Actual kernel diump trace

This is the actual kernel dump trace.
Comment 10 Yann Golanski 2007-03-15 12:56:52 UTC
Created attachment 10785 [details]
Just before crash with apci=off option

Just before the kernel apci=off crashes
Comment 11 Yann Golanski 2007-03-15 12:57:33 UTC
Created attachment 10786 [details]
First part of the kernel trace

First part of kernel apci=off trace
Comment 12 Yann Golanski 2007-03-15 12:58:06 UTC
Created attachment 10787 [details]
Final part of the kernel trace.

Final part of the kernel apci=off trace.
Comment 13 Yann Golanski 2007-03-15 13:02:38 UTC
All the pictures I've just uploaded are from a Fedor Core 6 install DVD.  There
are two trace, the first is from the default kernel, the second from booting
with "linux text apci=off smp=off" to remove as many things as possible. 
Gentoo, Open Suse and Ubuntu all kernel dump as well.  If you really want and it
would help, I can take pictures of all of them. 

The system I am running is as follows:
 AMD Athlon 64 X2 Dual Core 5000+
 MSI K9A Platinum Crossfire (Socket AM2)
 OCZ 2GB (2 x 1GB) PC2-6400 Dual Channel Platinu
 Sapphire ATI Radeon X1950 Pro ULTIMATE SILENT

I'd love to be able to compile a 2.6.21 kernel (or any other) but I cannot
install Linux so do not have access to gcc or anything like that. 

Any help would be much appreciated.  
Comment 14 Mark Langsdorf 2007-03-15 13:33:40 UTC
Is there a way to force the APCI processor module to load before the powernow_k8
module on your systems?  The failure of the ACPI processor module to load is
what is causing PowerNow! to fail.
Comment 15 Yann Golanski 2007-03-16 01:17:25 UTC
Mark, 

I do not think so.  I have no running system and all installers I have (Gentoo,
Fedora Core 6, Ubuntu and OpenSuse) do not have much option in what to do.  I
can pass some arguments to the default kernel but that's it.  
Comment 16 Joshua Hoblitt 2007-05-15 18:26:48 UTC
I believe that I reported the same issue to the Gentoo bug tracker:

http://bugs.gentoo.org/show_bug.cgi?id=178585

and I've just sent a possible 1 line Kconfig fix to LKML:

http://lkml.org/lkml/2007/5/15/352
Comment 17 Natalie Protasevich 2007-06-20 17:05:19 UTC
Does this patch need more testing? Yann, does it resolve your problem?
Thanks.
Comment 18 Yann Golanski 2007-06-21 00:43:06 UTC
It worked for me.  Actually, fedora 7 installed on my machine so it's fine. 

Thanks guys.
Comment 19 Dave 2007-07-17 00:41:18 UTC
Hi guys, I had the same issue here, but kernel 2.6.22:
# uname -a
Linux localhost 2.6.22-gentoo #5 SMP Mon Jul 16 15:08:03 MSD 2007 i686 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ AuthenticAMD GNU/Linux
# modprobe powernow-k8
FATAL: Error inserting powernow_k8 (/lib/modules/2.6.22-gentoo/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k8.ko): No such device

# dmesg | tail -n 3
powernow-k8: Found 2 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ processors (version 2.00.00)
powernow-k8: MP systems not supported by PSB BIOS structure
powernow-k8: MP systems not supported by PSB BIOS structure
Comment 20 Dave 2007-07-17 00:42:21 UTC
Created attachment 12059 [details]
kernel config
Comment 21 Mark Langsdorf 2007-07-17 08:20:35 UTC
If you have the ACPI Processor module loaded and it's still failing, then your BIOS does not report the _PSS objects in a way that Linux understands.  Update your BIOS.
Comment 22 Jim Darby 2007-10-06 13:05:34 UTC
I've now had this same problem. I've contact my motherboard manufacturer (Asus) and they have totally failed to help.

Clearly it is a BIOS problem and the correct solution is for the BIOS to be fixed. I'm still e-mailing Asus but I'm not hopeful.

I'm wondering if there's some way to fake the data. This would have to be done by hard-coding the values into the module. This blatantly sucks but I can't see any other way. This is also inappropriate for the mainline kernel as it's the Wrong Way to do it.
Comment 23 Len Brown 2008-01-10 18:30:41 UTC
re-categorizing to ACPI/Power-Processor
from Power-Management/cpufreq
Comment 24 Thomas Renninger 2008-01-11 03:36:11 UTC
There is a fix/patch from Joshua in comment #16.
IMO this makes sense and should find its way to mainline, Dave?

Comment #19-#22 are about an Asus BIOS lacking cpufreq ACPI tables -> unrelated.

IMO this one can be closed (if Dave agrees with above patch and commits it).
Comment 25 Venkateswara Rao 2008-01-31 07:27:11 UTC
(In reply to comment #17)
> Does this patch need more testing? Yann, does it resolve your problem?
> Thanks.

I have installed Fedora core 7 in text mode as i was getting this error so how do i need to make below change into kernal and resovle it.

CONFIG_X86_POWERNOW_K8=y
CONFIG_X86_ACPI_CPUFREQ=m

I'm novice to Linux please help me
Comment 26 Natalie Protasevich 2008-02-02 00:42:08 UTC
Dave Jones and Daniel Drake have accepted the patch, and its idea was incorporated and later included into new x86 arch. The bug can be closed.

http://lkml.org/lkml/2007/5/29/362