# Incorrect MHz in /proc/cpuinfo after new BIOS flash

## gzunk

I just flashed my BIOS on my motherboard, and cpuinfo now reports that my cpu is running at 900 MHz rather than 2.4GHz. Now it doesn't feel like it's running at that speed, and ffmpeg creates H264 videos just as quickly as before - so it looks like it's a reporting issue. CPUZ in windows shows the correct speed - so what do I have to do to get gentoo showing the correct speed again. Any ideas?

```

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 15

model name      : Intel(R) Core(TM)2 Quad CPU           @ 2.40GHz

stepping        : 7

cpu MHz         : 900.000

cache size      : 4096 KB

physical id     : 0

siblings        : 4

core id         : 0

cpu cores       : 4

fpu             : yes

fpu_exception   : yes

cpuid level     : 10

wp              : yes

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm

bogomips        : 4803.03

clflush size    : 64

cache_alignment : 64

address sizes   : 36 bits physical, 48 bits virtual

```

When it boots up the kernel seems fine about it though...

```

Kernel command line: root=/dev/sdc2 vga=794 splash=silent

Initializing CPU#0

PID hash table entries: 4096 (order: 12, 32768 bytes)

Extended CMOS year: 2000

time.c: Detected 2399.976 MHz processor.

Console: colour dummy device 80x25

Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)

Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)

Checking aperture...

PCI-DMA: Using software bounce buffering for IO (SWIOTLB)

Placing software IO TLB between 0x58d0000 - 0x98d0000

Memory: 4046768k/4980736k available (3481k kernel code, 145804k reserved, 1182k data, 220k init)

SLUB: Genslabs=22, HWalign=64, Order=0-1, MinObjects=4, CPUs=4, Nodes=1

Calibrating delay using timer specific routine.. 4803.03 BogoMIPS (lpj=2401517)

Security Framework v1.0.0 initialized

Mount-cache hash table entries: 256

CPU: L1 I cache: 32K, L1 D cache: 32K

CPU: L2 cache: 4096K

using mwait in idle threads.

CPU: Physical Processor ID: 0

CPU: Processor Core ID: 0

CPU0: Thermal monitoring enabled (TM2)

Freeing SMP alternatives: 27k freed

ACPI: Core revision 20070126

Using local APIC timer interrupts.

result 16666488

Detected 16.666 MHz APIC timer.

Booting processor 1/4 APIC 0x1

Initializing CPU#1

Calibrating delay using timer specific routine.. 4800.02 BogoMIPS (lpj=2400012)

CPU: L1 I cache: 32K, L1 D cache: 32K

CPU: L2 cache: 4096K

CPU: Physical Processor ID: 0

CPU: Processor Core ID: 1

CPU1: Thermal monitoring enabled (TM2)

Intel(R) Core(TM)2 Quad CPU           @ 2.40GHz stepping 07

checking TSC synchronization [CPU#0 -> CPU#1]: passed.

Booting processor 2/4 APIC 0x3

Initializing CPU#2

Calibrating delay using timer specific routine.. 4759.04 BogoMIPS (lpj=2379523)

CPU: L1 I cache: 32K, L1 D cache: 32K

CPU: L2 cache: 4096K

CPU: Physical Processor ID: 0

CPU: Processor Core ID: 3

CPU2: Thermal monitoring enabled (TM2)

Intel(R) Core(TM)2 Quad CPU           @ 2.40GHz stepping 07

checking TSC synchronization [CPU#0 -> CPU#2]: passed.

Booting processor 3/4 APIC 0x2

Initializing CPU#3

Calibrating delay using timer specific routine.. 4800.05 BogoMIPS (lpj=2400029)

CPU: L1 I cache: 32K, L1 D cache: 32K

CPU: L2 cache: 4096K

CPU: Physical Processor ID: 0

CPU: Processor Core ID: 2

CPU3: Thermal monitoring enabled (TM2)

Intel(R) Core(TM)2 Quad CPU           @ 2.40GHz stepping 07

checking TSC synchronization [CPU#0 -> CPU#3]: passed.

Brought up 4 CPUs

migration_cost=35,3899

```

----------

## poly_poly-man

I'm just guessing here, but could it be cpufreq? If you are using the ondemand governor, it could run at 900mhz (for example), but throttle up to full speed when you need it (like video encoding).

hih,

poly-p man

----------

## broken_chaos

99% chance that's what it is. I have a 2.33 Ghz Core 2 Duo. This is from my cpuinfo:

cpu MHz		: 1000.000

That's the speed it's running at, scaled all the way down with ondemand cpufreq. It scales up effectively instantly when needed.

Edit: To test this, do something heavy (i.e. the video encoding you noted) and then, while doing that, check cpuinfo. It should be at the correct highest speed.

----------

## gzunk

I don't think that's it. I do have SpeedStep turned on (and did have it turned on before). Before it jumped between 1.6GHz and 2.4GHz, now it says it jumps between 600MHz and 900MHz. I've tried looking at it under heavy load (ffmpeg H264 encoding with 6 threads) and it still says 900MHz.

```

top - 08:35:33 up 15 min,  3 users,  load average: 2.12, 0.56, 0.23

Tasks: 164 total,   1 running, 163 sleeping,   0 stopped,   0 zombie

Cpu(s): 96.4%us,  0.2%sy,  0.0%ni,  3.2%id,  0.0%wa,  0.1%hi,  0.0%si,  0.0%st

Mem:   4047272k total,   743788k used,  3303484k free,    84528k buffers

Swap:  4096564k total,        0k used,  4096564k free,   228304k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            

 6447 thomsona  25   0  349m  91m 3116 S  385  2.3   1:56.58 ffmpeg             

 6341 thomsona  15   0  102m  20m 9604 S    2  0.5   0:06.48 compiz             

 5195 root      15   0  136m  44m 8324 S    0  1.1   0:13.15 X                  

 6362 thomsona  15   0  129m  20m  12m S    0  0.5   0:00.37 gnome-terminal     

```

```

processor       : 3

vendor_id       : GenuineIntel

cpu family      : 6

model           : 15

model name      : Intel(R) Core(TM)2 Quad CPU           @ 2.40GHz

stepping        : 7

cpu MHz         : 900.000

cache size      : 4096 KB

```

```

top - 08:37:53 up 18 min,  3 users,  load average: 2.63, 1.66, 0.70

Tasks: 162 total,   1 running, 161 sleeping,   0 stopped,   0 zombie

Cpu(s):  0.1%us,  0.1%sy,  0.0%ni, 99.8%id,  0.0%wa,  0.1%hi,  0.0%si,  0.0%st

Mem:   4047272k total,   776780k used,  3270492k free,    84612k buffers

Swap:  4096564k total,        0k used,  4096564k free,   345296k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            

 6341 thomsona  15   0  102m  20m 9608 S    1  0.5   0:07.90 compiz             

  228 root      10  -5     0    0    0 S    0  0.0   0:00.27 ata/0              

 5195 root      15   0  136m  44m 8324 S    0  1.1   0:14.79 X                  

11433 thomsona  15   0 10712 1348  948 R    0  0.0   0:00.06 top     

```

```

processor       : 3

vendor_id       : GenuineIntel

cpu family      : 6

model           : 15

model name      : Intel(R) Core(TM)2 Quad CPU           @ 2.40GHz

stepping        : 7

cpu MHz         : 600.000

```

----------

## poly_poly-man

What does cpufreq-info say?

poly-p man

----------

## gzunk

 *Quote:*   

> What does cpufreq-info say?

 

I don't have it installed - which package is it in?

----------

## poly_poly-man

 *gzunk wrote:*   

>  *Quote:*   What does cpufreq-info say? 
> 
> I don't have it installed - which package is it in?

 

The package is cpufrequtils

poly-p man

----------

## gzunk

Shame it doesn't tell me anything I don't already know...

```

barney ~ # cpufreq-info

cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006

Report errors and bugs to linux@brodo.de, please.

analyzing CPU 0:

  driver: acpi-cpufreq

  CPUs which need to switch frequency at the same time: 0

  hardware limits: 600 MHz - 900 MHz

  available frequency steps: 900 MHz, 600 MHz

  available cpufreq governors: conservative, ondemand, powersave, userspace, performance

  current policy: frequency should be within 600 MHz and 900 MHz.

                  The governor "ondemand" may decide which speed to use

                  within this range.

  current CPU frequency is 600 MHz (asserted by call to hardware).

analyzing CPU 1:

  driver: acpi-cpufreq

  CPUs which need to switch frequency at the same time: 1

  hardware limits: 600 MHz - 900 MHz

  available frequency steps: 900 MHz, 600 MHz

  available cpufreq governors: conservative, ondemand, powersave, userspace, performance

  current policy: frequency should be within 600 MHz and 900 MHz.

                  The governor "ondemand" may decide which speed to use

                  within this range.

  current CPU frequency is 600 MHz (asserted by call to hardware).

analyzing CPU 2:

  driver: acpi-cpufreq

  CPUs which need to switch frequency at the same time: 2

  hardware limits: 600 MHz - 900 MHz

  available frequency steps: 900 MHz, 600 MHz

  available cpufreq governors: conservative, ondemand, powersave, userspace, performance

  current policy: frequency should be within 600 MHz and 900 MHz.

                  The governor "ondemand" may decide which speed to use

                  within this range.

  current CPU frequency is 600 MHz (asserted by call to hardware).

analyzing CPU 3:

  driver: acpi-cpufreq

  CPUs which need to switch frequency at the same time: 3

  hardware limits: 600 MHz - 900 MHz

  available frequency steps: 900 MHz, 600 MHz

  available cpufreq governors: conservative, ondemand, powersave, userspace, performance

  current policy: frequency should be within 600 MHz and 900 MHz.

                  The governor "ondemand" may decide which speed to use

                  within this range.

  current CPU frequency is 600 MHz (asserted by call to hardware).

```

----------

## Logge

Hey!!

I have the same cpuinfo for my Q6600.

Had any progress in this matter??

//Logge

----------

## Logge

bump

Anyone sitting on any kind of information about why the q6600 doesn't run faster than maximum 900MHz.

I've tried to set the maximum to 2400MHz with cpufreq-set but to no success.

Any ideas??

//Oskar

----------

## eccerr0r

likely it's a firmware or driver bug.  Your bogomips looks correct, have you run anything that tests the speed of your machine?  The bogomips would be a lot lower (say, around 1200-1800) if it really was running at that speed.

I haven't gotten my C2Q setup in a machine yet (still need to acquire a motherboard for it), so I don't really know what I'm talking about...

----------

## blueworm

I'm having the same problem with a E6550 if I turn cpu scaling off in kernel its OK.

From what I can make out this is a bug in BIOS not handing over the correct acpi information to the kernel.

See this bug in kernel bugzilla.

----------

## Logge

Hmm..

So that's what it is...

I think that the cpu scaling stuff made my audio lag so gone the scaling stuff will be...

// Oskar

----------

## axelj

It seems to be a bug in my tickless kernel of the fedora core 8 too.

cpu frequency is really at 600 Mhz / 900 MHz.

We are writing video transcoders from Mpeg2 to h264 or dv blah...

Our video needs forever to be transcoded.

Although we were able to "unlock" the Intel Q6600 with the following trick.

We didnt start "cpuspeed" when starting the system. on a fedora machine we can 

do this with "ntsysv".

When the cpuspeed initializing script is not started the "acpi-cpufreq" is not loaded

when typing "lsmod".

If it is still loaded the a "rmmod acpi-cpufreq" will unload the acpi kernel module.

if thats done the /proc/cpuinfo shows all 4 processors with 2400 MHz and lshw shows

2400 MHz too.

Far more important:

we are able to transcode with 75 fps again  :Smile: 

hope that helps for the ones who need the power for video-apps.

cheers, axel

flowworks.de

----------

## Logge

Turning off CIA2 in the BIOS of my GigaByte motherboard solved my problem with incorrect mhz.

Infact, it stabilized my system alot. No more wierd going-into-the-future-because-time-flies-away-under-heavy-cpu-load experience.

----------

