# Core 2 Duo running too slow!

## preacher

Hello board, I have a little problem I can't seem to resolve on my own, and googling and searching the gentoo-forums has not gotten me anywhere either.

The problem is that my Intel Core 2 Duo T5500 processor, which should be capable of 1.66Ghz if I understand correctly, is only running at 1000Mhz, at most!

I have cpufrequtils installed, configured with the governor "ondemand". Upon load, the frequency is indeed changed, but never to anything higher than 1000Mhz.

Can anyone help? Or have I just misunderstod something, like someone asking why his new shiny 500GB harddrive only comes out at 460GB or so when partitioned?

```

mythtv ~ # cat /proc/cpuinfo 

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 15

model name      : Intel(R) Core(TM)2 CPU         T5500  @ 1.66GHz

stepping        : 6

cpu MHz         : 600.000

cache size      : 2048 KB

physical id     : 0

siblings        : 2

core id         : 0

cpu cores       : 2

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 est tm2 ssse3 cx16 xtpr lahf_lm

bogomips        : 3335.54

clflush size    : 64

cache_alignment : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:

processor       : 1

vendor_id       : GenuineIntel

cpu family      : 6

model           : 15

model name      : Intel(R) Core(TM)2 CPU         T5500  @ 1.66GHz

stepping        : 6

cpu MHz         : 600.000

cache size      : 2048 KB

physical id     : 0

siblings        : 2

core id         : 1

cpu cores       : 2

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 est tm2 ssse3 cx16 xtpr lahf_lm

bogomips        : 3332.94

clflush size    : 64

cache_alignment : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:

```

```

mythtv ~ # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 

1000000 800000 600000 

mythtv ~ # cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_available_frequencies 

1000000 800000 600000 

```

What I think are relevant bits of my kernel config (suspend2-2.6.19-r1):

```

CONFIG_X86_64=y

CONFIG_64BIT=y

CONFIG_X86=y

CONFIG_ZONE_DMA32=y

CONFIG_LOCKDEP_SUPPORT=y

CONFIG_STACKTRACE_SUPPORT=y

CONFIG_SEMAPHORE_SLEEPERS=y

CONFIG_MMU=y

CONFIG_RWSEM_GENERIC_SPINLOCK=y

CONFIG_GENERIC_HWEIGHT=y

CONFIG_GENERIC_CALIBRATE_DELAY=y

CONFIG_X86_CMPXCHG=y

CONFIG_EARLY_PRINTK=y

CONFIG_GENERIC_ISA_DMA=y

CONFIG_GENERIC_IOMAP=y

CONFIG_ARCH_MAY_HAVE_PC_FDC=y

CONFIG_ARCH_POPULATES_NODE_MAP=y

CONFIG_DMI=y

CONFIG_AUDIT_ARCH=y

CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#

# Code maturity level options

#

CONFIG_EXPERIMENTAL=y

CONFIG_LOCK_KERNEL=y

CONFIG_INIT_ENV_ARG_LIMIT=32

#

# General setup

#

CONFIG_LOCALVERSION=""

CONFIG_LOCALVERSION_AUTO=y

# CONFIG_SWAP is not set

CONFIG_SYSVIPC=y

# CONFIG_IPC_NS is not set

CONFIG_POSIX_MQUEUE=y

# CONFIG_BSD_PROCESS_ACCT is not set

# CONFIG_TASKSTATS is not set

# CONFIG_UTS_NS is not set

# CONFIG_AUDIT is not set

# CONFIG_IKCONFIG is not set

# CONFIG_CPUSETS is not set

# CONFIG_RELAY is not set

CONFIG_INITRAMFS_SOURCE=""

CONFIG_CC_OPTIMIZE_FOR_SIZE=y

CONFIG_SYSCTL=y

# CONFIG_EMBEDDED is not set

CONFIG_UID16=y

CONFIG_SYSCTL_SYSCALL=y

CONFIG_KALLSYMS=y

# CONFIG_KALLSYMS_EXTRA_PASS is not set

CONFIG_HOTPLUG=y

CONFIG_PRINTK=y

CONFIG_BUG=y

CONFIG_ELF_CORE=y

CONFIG_BASE_FULL=y

CONFIG_FUTEX=y

CONFIG_EPOLL=y

CONFIG_SHMEM=y

CONFIG_SLAB=y

CONFIG_VM_EVENT_COUNTERS=y

CONFIG_RT_MUTEXES=y

# CONFIG_TINY_SHMEM is not set

CONFIG_BASE_SMALL=0

# CONFIG_SLOB is not set

#

# Loadable module support

#

CONFIG_MODULES=y

CONFIG_MODULE_UNLOAD=y

CONFIG_MODULE_FORCE_UNLOAD=y

CONFIG_MODVERSIONS=y

# CONFIG_MODULE_SRCVERSION_ALL is not set

CONFIG_KMOD=y

CONFIG_STOP_MACHINE=y

#

# Block layer

#

CONFIG_BLOCK=y

CONFIG_LBD=y

# CONFIG_BLK_DEV_IO_TRACE is not set

# CONFIG_LSF is not set

#

# IO Schedulers

#

CONFIG_IOSCHED_NOOP=y

# CONFIG_IOSCHED_AS is not set

# CONFIG_IOSCHED_DEADLINE is not set

CONFIG_IOSCHED_CFQ=y

# CONFIG_DEFAULT_AS is not set

# CONFIG_DEFAULT_DEADLINE is not set

CONFIG_DEFAULT_CFQ=y

# CONFIG_DEFAULT_NOOP is not set

CONFIG_DEFAULT_IOSCHED="cfq"

#

# Processor type and features

#

CONFIG_X86_PC=y

# CONFIG_X86_VSMP is not set

# CONFIG_MK8 is not set

CONFIG_MPSC=y

# CONFIG_GENERIC_CPU is not set

CONFIG_X86_L1_CACHE_BYTES=128

CONFIG_X86_L1_CACHE_SHIFT=7

CONFIG_X86_INTERNODE_CACHE_BYTES=128

CONFIG_X86_TSC=y

CONFIG_X86_GOOD_APIC=y

# CONFIG_MICROCODE is not set

# CONFIG_X86_MSR is not set

# CONFIG_X86_CPUID is not set

CONFIG_X86_HT=y

CONFIG_X86_IO_APIC=y

CONFIG_X86_LOCAL_APIC=y

CONFIG_MTRR=y

CONFIG_SMP=y

# CONFIG_SCHED_SMT is not set

CONFIG_SCHED_MC=y

# CONFIG_PREEMPT_NONE is not set

CONFIG_PREEMPT_VOLUNTARY=y

# CONFIG_PREEMPT is not set

CONFIG_PREEMPT_BKL=y

# CONFIG_NUMA is not set

CONFIG_ARCH_SPARSEMEM_ENABLE=y

CONFIG_ARCH_FLATMEM_ENABLE=y

CONFIG_SELECT_MEMORY_MODEL=y

# CONFIG_FLATMEM_MANUAL is not set

# CONFIG_DISCONTIGMEM_MANUAL is not set

CONFIG_SPARSEMEM_MANUAL=y

CONFIG_SPARSEMEM=y

CONFIG_HAVE_MEMORY_PRESENT=y

# CONFIG_SPARSEMEM_STATIC is not set

CONFIG_SPARSEMEM_EXTREME=y

# CONFIG_MEMORY_HOTPLUG is not set

CONFIG_SPLIT_PTLOCK_CPUS=4

CONFIG_RESOURCES_64BIT=y

CONFIG_NR_CPUS=2

CONFIG_HOTPLUG_CPU=y

CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y

CONFIG_HPET_TIMER=y

CONFIG_IOMMU=y

# CONFIG_CALGARY_IOMMU is not set

CONFIG_SWIOTLB=y

CONFIG_X86_MCE=y

CONFIG_X86_MCE_INTEL=y

# CONFIG_X86_MCE_AMD is not set

# CONFIG_KEXEC is not set

# CONFIG_CRASH_DUMP is not set

CONFIG_PHYSICAL_START=0x200000

CONFIG_SECCOMP=y

# CONFIG_CC_STACKPROTECTOR is not set

# CONFIG_HZ_100 is not set

# CONFIG_HZ_250 is not set

CONFIG_HZ_1000=y

CONFIG_HZ=1000

# CONFIG_REORDER is not set

CONFIG_K8_NB=y

CONFIG_GENERIC_HARDIRQS=y

CONFIG_GENERIC_IRQ_PROBE=y

CONFIG_ISA_DMA_API=y

CONFIG_GENERIC_PENDING_IRQ=y

#

# Power management options

#

CONFIG_PM=y

# CONFIG_PM_LEGACY is not set

# CONFIG_PM_DEBUG is not set

# CONFIG_PM_SYSFS_DEPRECATED is not set

CONFIG_SUSPEND_SMP=y

CONFIG_SUSPEND2_CRYPTO=y

CONFIG_SUSPEND2=y

#

# Image Storage (you need at least one allocator)

#

CONFIG_SUSPEND2_FILE=y

# CONFIG_SUSPEND2_SWAP is not set

#

# General Options

#

CONFIG_SUSPEND2_DEFAULT_RESUME2=""

# CONFIG_SUSPEND2_KEEP_IMAGE is not set

CONFIG_SUSPEND2_REPLACE_SWSUSP=y

CONFIG_SUSPEND_SHARED=y

#

# ACPI (Advanced Configuration and Power Interface) Support

#

CONFIG_ACPI=y

CONFIG_ACPI_SLEEP=y

CONFIG_ACPI_SLEEP_PROC_FS=y

# CONFIG_ACPI_SLEEP_PROC_SLEEP is not set

CONFIG_ACPI_AC=y

CONFIG_ACPI_BATTERY=y

CONFIG_ACPI_BUTTON=y

# CONFIG_ACPI_VIDEO is not set

# CONFIG_ACPI_HOTKEY is not set

CONFIG_ACPI_FAN=y

# CONFIG_ACPI_DOCK is not set

CONFIG_ACPI_PROCESSOR=y

CONFIG_ACPI_HOTPLUG_CPU=y

CONFIG_ACPI_THERMAL=y

# CONFIG_ACPI_ASUS is not set

# CONFIG_ACPI_IBM is not set

# CONFIG_ACPI_TOSHIBA is not set

CONFIG_ACPI_BLACKLIST_YEAR=0

# CONFIG_ACPI_DEBUG is not set

CONFIG_ACPI_EC=y

CONFIG_ACPI_POWER=y

CONFIG_ACPI_SYSTEM=y

CONFIG_X86_PM_TIMER=y

CONFIG_ACPI_CONTAINER=y

# CONFIG_ACPI_SBS is not set

#

# CPU Frequency scaling

#

CONFIG_CPU_FREQ=y

CONFIG_CPU_FREQ_TABLE=y

# CONFIG_CPU_FREQ_DEBUG is not set

CONFIG_CPU_FREQ_STAT=y

# CONFIG_CPU_FREQ_STAT_DETAILS is not set

# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set

CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y

# CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set

# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set

CONFIG_CPU_FREQ_GOV_USERSPACE=y

CONFIG_CPU_FREQ_GOV_ONDEMAND=y

CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y

#

# CPUFreq processor drivers

#

# CONFIG_X86_POWERNOW_K8 is not set

CONFIG_X86_SPEEDSTEP_CENTRINO=y

CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y

CONFIG_X86_ACPI_CPUFREQ=y

#

# shared options

#

# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set

# CONFIG_X86_SPEEDSTEP_LIB is not set

```

----------

## i13m

From your post, maybe the CPU frequency scaling drivers cause the problem.

 *Quote:*   

> CONFIG_X86_SPEEDSTEP_CENTRINO=y
> 
> CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y
> 
> CONFIG_X86_ACPI_CPUFREQ=y 

 

There are two CPU frequency scaling drivers built-in the kernel - speedstep and acpi-cpufreq. I am not sure which one is been used.

Well I have a laptop with core2duo T7200 processor. For kernel 2.6.19, I only used  *Quote:*   

> CONFIG_X86_SPEEDSTEP_CENTRINO=y 
> 
> CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y

 

, and for kernel 2.6.20, I am only using  *Quote:*   

> CONFIG_X86_ACPI_CPUFREQ=y

 

(there is a little bit change for speedstep for Intel processors about the CPU frequency scaling, more info is in the 2.6.20 changlog)

This may not solve your problem, it's just a thought. But could have a try.

Regards

----------

## preacher

Thanks for your suggestions. 

However, when I only set 

```

CONFIG_X86_SPEEDSTEP_CENTRINO=y

CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y

```

cpufrequtils complains that my processor is unsupported (and /proc/cpuinfo shows my processor running at 1000Mhz). I had to add 

```

CONFIG_X86_ACPI_CPUFREQ=y

```

to get it to scale properly, between 600Mhz and 1000Mhz that is.

I guess I could try to only define 

```

CONFIG_X86_ACPI_CPUFREQ=y

```

Will try that as soon as possible, but it feels like a shot in the dark. Anyone has any other suggestions?

----------

## fangorn

I think I read in a kernel changelog that the kernel cpufreq_centrino driver now supports c2d. Maybe you could test kernel 2.6.20. I dont own such a machine myself, so I did not test it.

----------

## gerard27

Hi All,

I intend to buy me a desktop with a core2duo Intel processor so I am reading the forum

threads on c2d problems with interest.

Concerning the processor speed: What role does the bios play in this?

Can software go beyond a speed set in the bios?

For instance if the processor speed in the bios settings is 1000MHz can the software make it

run at a higher speed?

G.

----------

## i13m

Hi:

For preacher:

On my current laptop, Dell 6400, I am using the gentoo kernel 2.6.20 with only

 *Quote:*   

> CONFIG_X86_ACPI_CPUFREQ=y

 

on , and there is no problem about the cpu scaling. The available frequencies for my cpu are: 2.0gHz, 1.66gHz, 1.33gHz, and 1.0gHZ.

Because your processor is T5500, I am sure it supports Intel Speedstep which makes cpu scaling. Could you check your bios, whether there is an opinion about Enhanced Speedstep Technology or similar things in the power saving section turned on. And check whether there is a BIOS update for your laptop (read the bios changlog before flashing the bios).

For Gerard van Vuuren:

For the bios in laptops, there is always an option about cpu scaling for power saving. I am not quite sure, but I think the BIOS totally control the limit of cpu scaling.

Back to my old Dell c640 which, I think, has P4-M 2.0gHz. There is an option in bios about set the max cpu frequency to around 1.0gHz for battery-powered situations. In that case, I only had 2 frequencies: 1.0gHz and 800mHz under Linux. And if I did't set that option, I had around 6 options, and the maximum frequency is 2.0gHz. So I dont think software could set up the frequency beyound the BIOS limit. But correct me if I am wrong  :Razz: 

It's long time ago, and I cannot remember whether the numbers are correct or not. But I hope those could make a point for you.

----------

## preacher

Thanks i13m

My bios is the latest version, and IIRC speedstep is enabled in the bios (not at home now), will check for sure.

I will try kernel 2.6.20, but since suspend2-sources is not there yet I'll have to switch to gentoo-sources.

----------

## i13m

Well, I dont use suspend2-sources. So I am not sure whether the problem comes from suspend2-sources (highly unlikely).

I am only using gentoo-sources 2.6.20 atm. And I could get the suspend to ram and disk work under the gentoo-sources. But I dont use them often, because of fast booting nowadays for modern laptop.

I hope it could solve the problem by trying the new kernel. And in cause if there are some problems, post to the forum and we could try to solve it as best as we can

----------

## preacher

Well, with gentoo-sources-2.6.20 and only 

```
CONFIG_X86_ACPI_CPUFREQ=y
```

 activated (since Intel Enhanced SpeedStep is marked as deprecated as of 2.6.20), I'm having the same problem.

Cpu can only scale between 600, 800 and 1000 Mhz.

Completely disabling CPUFREQ in the kernel makes my cpu run correctly at 1.66 Ghz, which is nice but feels like a waste of energy.

Is there some kind of problem with CPUFREQ and core2duo (not likely), just core2duo T5500 (just a little less unlikely), or me??

Anyone else running a T5500 and having the same problem, or has a working setup?

----------

## coolsnowmen

if you are having problems with newer processors and cpufreq, you should first turn on the cpufreq debugging and add the kernel parameter and see what the debugging out says.  I have hacked the code before because it simply miss read the table of possible frequencies, but it could successfully set them just fine.

----------

