powernow-k8 will not load on Sempron-based system

Bug #33846 reported by Matthew Dempsky
This bug report is a duplicate of:  Bug #33116: powernow-k8 refuses to load. Edit Remove
12
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

I have an Averatec 3280 with a Mobile Sempron 2800+. powernow-k8 from Breezy's linux-image-2.6.12-10-k7 package loads successfully and can step down the processor, but the same driver from Dapper's linux-image-2.6.15-17-k7 package prints the following when trying to load it:

    powernow-k8: Fonud 1 AMD Athlon 64 / Opteron processor (version 1.50.4)
    powernow-k8: MP systems not supported by PSB BIOS structure

I am not sure why it thinks the laptop is a multiprocessor system (I didn't think the Sempron was based on a dual core processor), but I suspect it is only an issue now because Dapper has dropped the separate UP and SMP kernel packages.

Looking at the kernel source, it seems that num_possible_cpus must be returning non-1 on line 1008 of powernow-k8.c, but I am not sure why.

(Without this working, the laptop runs much hotter and drains the batter faster.)

Tags: linux
Revision history for this message
Matthew (shadesfox) wrote :

I'm getting the same thing on my uniwill 258kA0 laptop.

Revision history for this message
Matthew (shadesfox) wrote :

I thought I would post an update on this. I ran through the idea that Matt D. posted up there about num_possible_cpus() returning a non 1. For me it returned a 3. So I looked around in the code to see what I could dig up.

It looks like that with hotplug cpu enabled that num_possible_cpus() returns how many processors it thinks the computer can take, rather then the number installed. So I tried changing num_possible_cpus() to num_online_cpus() and now it works like a champ for me. I'll post a patch.

Revision history for this message
Matthew (shadesfox) wrote : powernow-k8 fix

This works for me and it seems right. Changes num_possible_cpus() to num_present_cpus() when checking processors in powernowd.

Revision history for this message
Matthew Dempsky (mrd-alkemio) wrote :

While I'm sure the patch makes it work again, I'm not certain it's the right solution. I expect it uses num_possible_cpus() instead of num_present_cpsu() intentionally to prevent the module from being loaded and then later another processor is hotplugged. I would think the correct fix is to make num_possible_cpus() actually return 1 on systems like ours.

(Of course, I'm not a kernel developer and especially have little experience with modern power management except as a user, so I could be completely off on this one.)

Revision history for this message
Matthew Dempsky (mrd-alkemio) wrote :

Changing to confirmed in hopes of receiving more attention to this issue.

Changed in linux-source-2.6.15:
status: Unconfirmed → Confirmed
Revision history for this message
Matthew (shadesfox) wrote :

Well, I did some more poking around launchpad and found another bug just like this one, and that one is getting more attention.

https://launchpad.net/distros/ubuntu/+source/linux-image-2.6.15-16-k7/+bug/33116/

Just as long as one of the bugs gets fixed all is good though.

Though I have discovered that the bug only shows up if you enable cpu hotplug. Probably a bug in the hotplug code it self, so a good solution would probably be to ship the normal desktop kernels with out cpu hotplug. It is marked experimental anyways.

Revision history for this message
Launchpad Janitor (janitor) wrote : This bug is now reported against the 'linux' package

Beginning with the Hardy Heron 8.04 development cycle, all open Ubuntu kernel bugs need to be reported against the "linux" kernel package. We are automatically migrating this linux-source-2.6.15 kernel bug to the new "linux" package. We appreciate your patience and understanding as we make this transition. Also, if you would be interested in testing the upcoming Intrepid Ibex 8.10 release, it is available at http://www.ubuntu.com/testing . Please let us know your results. Thanks!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.