# Cpufrequtils and Unlocked Multiplier problem

## Lomion

Hi everyone,

I was trying to get some extra power from my CPU (a Phenom 9950 BE processor) by overclocking it.

Since it has an unlocked multiplier and since I don't want to mess around with RAM timings and Bus frequency, I simply choosed to go with a multiplier boost.

This processor run on stock speed of 2,6 GHz (multiplier 13x) and I decided to try 3GHz (multiplier 15x).

Once i set this value in my motherboard bios (it is an Asus M3N78-EM) I rebooted into Gentoo and I was disappointed to see that cpufrequtils cannot step to the faster P-State more.

Here is the output of cpufreq-info:

```
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009

Report errors and bugs to cpufreq@vger.kernel.org, please.

analyzing CPU 0:

  driver: powernow-k8

  CPUs which run at the same hardware frequency: 0

  CPUs which need to have their frequency coordinated by software: 0

  maximum transition latency: 4.0 us.

  hardware limits: 1.30 GHz - 3.00 GHz

  available frequency steps: 3.00 GHz, 1.30 GHz

  available cpufreq governors: ondemand, performance

  current policy: frequency should be within 1.30 GHz and 2.60 GHz.

                  The governor "ondemand" may decide which speed to use

                  within this range.

  current CPU frequency is 1.30 GHz (asserted by call to hardware).

analyzing CPU 1:

  driver: powernow-k8

  CPUs which run at the same hardware frequency: 1

  CPUs which need to have their frequency coordinated by software: 1

  maximum transition latency: 4.0 us.

  hardware limits: 1.30 GHz - 3.00 GHz

  available frequency steps: 3.00 GHz, 1.30 GHz

  available cpufreq governors: ondemand, performance

  current policy: frequency should be within 1.30 GHz and 2.60 GHz.

                  The governor "ondemand" may decide which speed to use

                  within this range.

  current CPU frequency is 1.30 GHz (asserted by call to hardware).

analyzing CPU 2:

  driver: powernow-k8

  CPUs which run at the same hardware frequency: 2

  CPUs which need to have their frequency coordinated by software: 2

  maximum transition latency: 4.0 us.

  hardware limits: 1.30 GHz - 3.00 GHz

  available frequency steps: 3.00 GHz, 1.30 GHz

  available cpufreq governors: ondemand, performance

  current policy: frequency should be within 1.30 GHz and 2.60 GHz.

                  The governor "ondemand" may decide which speed to use

                  within this range.

  current CPU frequency is 1.30 GHz (asserted by call to hardware).

analyzing CPU 3:

  driver: powernow-k8

  CPUs which run at the same hardware frequency: 3

  CPUs which need to have their frequency coordinated by software: 3

  maximum transition latency: 4.0 us.

  hardware limits: 1.30 GHz - 3.00 GHz

  available frequency steps: 3.00 GHz, 1.30 GHz

  available cpufreq governors: ondemand, performance

  current policy: frequency should be within 1.30 GHz and 2.60 GHz.

                  The governor "ondemand" may decide which speed to use

                  within this range.

  current CPU frequency is 1.30 GHz (asserted by call to hardware).
```

It seems that the 3GHz frequency is indeed recognized by the kernel, but the governor is still struck on the stock upper value of 2,6GHz, hence it cannot set the "out of value" 3GHz value.

Sadly, also performance governor cannot use the new upper frequency.

In dmesg I see:

```

[    2.261144] powernow-k8: Found 1 AMD Phenom(tm) 9950 Quad-Core Processor (4 cpu cores) (version 2.20.00)

[    2.261833] powernow-k8:    0 : pstate 0 (3000 MHz)

[    2.262481] powernow-k8:    1 : pstate 1 (1300 MHz)

```

So I think is only a governon poblem. Is it possible to change the max value in the current policy span?

Thanks a lot in advance.

----------

## Sadako

Can you check if it works with the in-kernel ondemand governor rather than the userspace cpufrequtils daemon?

I've had no such issues with a multiplier-overclocked phenom 2 965 BE with the in-kernel governor, at least.

----------

## Lomion

Hi Sadako, and thanks for your help.

I've removed cpufrequtils from default runlevel with rc-update and rebooted with the in-kernel governor, but with no success.

My box is still struck in P1 state at 1300MHz, but can detect P0 at 3 GHz:

```
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009

Report errors and bugs to cpufreq@vger.kernel.org, please.

analyzing CPU 0:

  driver: powernow-k8

  CPUs which run at the same hardware frequency: 0

  CPUs which need to have their frequency coordinated by software: 0

  maximum transition latency: 4.0 us.

  hardware limits: 1.30 GHz - 3.00 GHz

  available frequency steps: 3.00 GHz, 1.30 GHz

  available cpufreq governors: ondemand, performance

  current policy: frequency should be within 1.30 GHz and 2.60 GHz.

                  The governor "ondemand" may decide which speed to use

                  within this range.

  current CPU frequency is 1.30 GHz.

Cut for ease of read

```

Don't know if it's a kernel governor related bug or if it's my motherboard bios that mess around with ACPI, or if it's me missing something. Unfortunately, I've already installed the latest Bios provided by Asus.

----------

## Sadako

Could you post the output of `ls /sys/devices/system/cpu/cpu0/cpufreq/` and `cat /sys/devices/system/cpu/cpu0/cpufreq/*`?

I know some boards/bios wont enable cool'n'quiet when overclocked, but that doesn't seem to be the case here...

----------

## Lomion

Hi again Sadako,

First of all, thanks for your help. Then, here's the output:

```

Black_Rose marco # ls /sys/devices/system/cpu/cpu0/cpufreq/

affected_cpus  cpb               cpuinfo_max_freq  cpuinfo_transition_latency  scaling_available_frequencies  scaling_cur_freq  scaling_governor  scaling_min_freq

bios_limit     cpuinfo_cur_freq  cpuinfo_min_freq  related_cpus                scaling_available_governors    scaling_driver    scaling_max_freq  scaling_setspeed

```

and

```

Black_Rose marco # cat /sys/devices/system/cpu/cpu0/cpufreq/*

0

2600000

0

1300000

3000000

1300000

4000

0

3000000 1300000 

ondemand performance 

1300000

powernow-k8

ondemand

2600000

1300000

<unsupported>

```

seems like my bios report bios_limit to 2600, could it be that this is preventing kernel to reach 3GHz?

----------

## Sadako

 *Lomion wrote:*   

> seems like my bios report bios_limit to 2600, could it be that this is preventing kernel to reach 3GHz?

 Possibly, curious that both cpuinfo_max_freq and scaling_available_frequencies report 3GHz, while bios_limit and scaling_max_freq report 2.6...

Can you load the userspace governor (may need to modprobe cpufreq_userspace, then echo 'userspace' > scaling_governor) and then try echo '3000000' > scaling_setspeed, and see if dmesg throws up anything?

Try setting 2600000 by the same method and see what dmesg reports there too.

Actually, what speed does the cpu run at if the performance governor is loaded or if powernow-k8 is not loaded (powernow-k8 would need to be a module to test that)?

Looks like a bios bug to me, if you're feeling adventerous you could try reverting to an earlier version.

----------

## Lomion

Hi Sadako,

 *Sadako wrote:*   

>  *Lomion wrote:*   seems like my bios report bios_limit to 2600, could it be that this is preventing kernel to reach 3GHz? Possibly, curious that both cpuinfo_max_freq and scaling_available_frequencies report 3GHz, while bios_limit and scaling_max_freq report 2.6...
> 
> Can you load the userspace governor (may need to modprobe cpufreq_userspace, then echo 'userspace' > scaling_governor) and then try echo '3000000' > scaling_setspeed, and see if dmesg throws up anything?
> 
> Try setting 2600000 by the same method and see what dmesg reports there too.
> ...

 

I've recompiled my kernel since powernow-k8 and governors were in-kernel and not modules.

Without powernow-k8 loaded the system runs at 3GHz, if I load the module it steps down to 1,3GHz and, when Precessor is in full load I see that it is running at 2,6GHz.

If I modprobe the userspace governor and set it into scaling_governors for all cpus the system is still struk at 1300MHz.

 *Sadako wrote:*   

> 
> 
> Looks like a bios bug to me, if you're feeling adventerous you could try reverting to an earlier version.

 

Ok so I'm trying to change to an earlier verion of the bios and hope this will change the way the bios handle unlocked multiplier.

Thanks a lot for your help, I'll try ASAP to downgrade bios.

----------

