Bug 12993 - warning in powernow-k8.c:1254
Summary: warning in powernow-k8.c:1254
Status: CLOSED DOCUMENTED
Alias: None
Product: Power Management
Classification: Unclassified
Component: cpufreq (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: cpufreq
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-01 02:42 UTC by Peter Teoh
Modified: 2011-03-03 01:23 UTC (History)
3 users (show)

See Also:
Kernel Version: 2.6.29
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments

Description Peter Teoh 2009-04-01 02:42:38 UTC
My kernel is sync with linus git tree:

/sda1/download/linux-2.6/for-linus>git describe
v2.6.29-6608-g15f7176

The following error was NEVER encountered in all previous version (2.6.29-rcX) (therefore it is not likely to be a BIOS bug):

Adding 7911972k swap on /dev/sdc5.  Priority:-1 extents:1 across:7911972k
powernow-k8: Found 1 AMD Athlon(tm) 64 X2 Dual Core Processor 4800+ processors (2 cpu cores) (version 2.20.00)
------------[ cut here ]------------
WARNING: at arch/x86/kernel/cpu/cpufreq/powernow-k8.c:1254 powernowk8_cpu_init+0x4e9/0xd63 [powernow_k8]()
Hardware name: System Product Name
[Firmware Bug]: powernow-k8: Your BIOS does not provide ACPI _PSS objects in a way that Linux understands. Please report this to the Linux ACPI maintainers and complain to your BIOS vendor.
Modules linked in: powernow_k8(+) freq_table ext2 ext4 jbd2 crc16 fuse dm_multipath uinput snd_intel8x0 snd_ac97_codec snd_mpu401 ac97_bus snd_seq_dummy snd_seq_oss snd_mpu401_uart snd_seq_midi_event snd_seq ppdev parport_pc snd_rawmidi snd_pcm_oss ns558 snd_seq_device snd_mixer_oss snd_pcm firewire_ohci snd_timer parport gameport k8temp hwmon floppy firewire_core snd forcedeth sky2 pcspkr i2c_nforce2 i2c_core snd_page_alloc crc_itu_t sata_sil24 soundcore sata_nv ata_generic pata_acpi pata_amd [last unloaded: scsi_wait_scan]
Pid: 2477, comm: modprobe Not tainted 2.6.29 #25
Call Trace:
 [<ffffffff8104a47a>] warn_slowpath+0xb6/0xf2
 [<ffffffffa01fd48f>] ? check_supported_cpu+0x1bf/0x1ce [powernow_k8]
 [<ffffffff810c8648>] ? kmem_cache_alloc+0x52/0xe3
 [<ffffffff8118d0c6>] ? __bitmap_weight+0x3e/0x89
 [<ffffffff8109849d>] ? trace_hardirqs_on+0x2a/0x2c
 [<ffffffffa01fe584>] powernowk8_cpu_init+0x4e9/0xd63 [powernow_k8]
 [<ffffffff81384fc5>] ? __down_write+0xb/0xd
 [<ffffffff813842ec>] ? down_write+0x2f/0x33
 [<ffffffff812c9fb9>] cpufreq_add_dev+0x170/0x619
 [<ffffffff8138367e>] ? schedule+0xe/0x22
 [<ffffffff810470c7>] ? __cond_resched+0x32/0x59
 [<ffffffff81230a5b>] sysdev_driver_register+0xbe/0x118
 [<ffffffff812c8f24>] cpufreq_register_driver+0xc1/0x1b3
 [<ffffffffa01fee98>] powernowk8_init+0x9a/0xa6 [powernow_k8]
 [<ffffffffa01fedfe>] ? powernowk8_init+0x0/0xa6 [powernow_k8]
 [<ffffffff8100a066>] do_one_initcall+0x5b/0x140
 [<ffffffff8106292d>] ? __blocking_notifier_call_chain+0x5d/0x6f
 [<ffffffff810715bc>] sys_init_module+0xae/0x1cd
 [<ffffffff81010db2>] system_call_fastpath+0x16/0x1b
---[ end trace 5b5c03d6522b9b23 ]---
Comment 1 Peter Teoh 2009-04-01 02:45:20 UTC
cat /proc/cpuinfo:

processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 15
model		: 35
model name	: AMD Athlon(tm) 64 X2 Dual Core Processor 4800+
stepping	: 2
cpu MHz		: 2411.004
cache size	: 1024 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 1
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good pni lahf_lm cmp_legacy
bogomips	: 4822.00
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

processor	: 1
vendor_id	: AuthenticAMD
cpu family	: 15
model		: 35
model name	: AMD Athlon(tm) 64 X2 Dual Core Processor 4800+
stepping	: 2
cpu MHz		: 2411.004
cache size	: 1024 KB
physical id	: 0
siblings	: 2
core id		: 1
cpu cores	: 2
apicid		: 1
initial apicid	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 1
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good pni lahf_lm cmp_legacy
bogomips	: 4821.19
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management: ts fid vid ttp
Comment 2 Zhang Rui 2009-04-01 03:34:51 UTC
this warning is introduced by commit 79cc56af, which indicates that powernow-k8 can not be used for a MP laptop.
Comment 3 Peter Teoh 2009-04-01 04:03:44 UTC
Thanks, but this is customized desktop, with A8N32-SLI as the mother board.

I will be glad to provide further info if needed.   Thanks.
Comment 4 Thomas Renninger 2009-04-01 10:59:43 UTC
powernow-k8 can of course be used for MP laptops/workstations/servers.

The problem of your "customized" machine is, that the BIOS does not recon the CPUs and thus cannot expose the needed cpufreq info to the OS via the _PSS ACPI function.

You could try to implement the _PSS function yourself and override your DSDT, but that is not perfect (e.g. DSDT table changes on HW changes, e.g. exchanging memory).
You could also patch powernow-k8.c and statically fill the needed values.
Best you complain to the vendor, anyway. CPUfreq won't work with this type of CPUs on Windows, too.

There is nothing that can be done to enhance the kernel to support your machine, this must be done in the BIOS or you go for a private patch which is not worth it.
Comment 5 Thomas Renninger 2009-04-01 11:01:54 UTC
IMO this bug should be set invalid or won't fix, there is nothing that the kernel is going to fix.
Comment 6 Peter Teoh 2009-04-01 16:21:57 UTC
Thank you Thomas for the explanation, I understand better now.   Shall try looking into the BIOS upgrade from vendor.   Thanks!!!

Note You need to log in before you can comment on or make changes to this bug.