# Locked minimum CPU clock on Thinkpad X130e

## aerofly5

The message title outlines it pretty clearly. I'm trying to clock down the CPU (to around 500-600MHz) to save power and reduce the amount of heat generated. But cpufreq will only let me go as low as 800MHz, at which point the system performance is still really good. Here is some more useful info:

```
school_laptop user # cpufreq-set -d 600MHz -u 600MHz

Error setting new values. Common errors:

- Do you have proper administration rights? (super-user?)

- Is the governor you requested available and modprobed?

- Trying to set an invalid policy?

- Trying to set a specific frequency, but userspace governor is not available,

   for example because of hardware which cannot be set to a specific frequency

   or because the userspace governor isn't loaded?
```

```
school_laptop user # cat /proc/cpuinfo 

processor   : 0

vendor_id   : GenuineIntel

cpu family   : 6

model      : 42

model name   : Intel(R) Celeron(R) CPU 857 @ 1.20GHz

stepping   : 7

microcode   : 0x18

cpu MHz      : 800.000

cache size   : 2048 KB

physical id   : 0

siblings   : 2

core id      : 0

cpu cores   : 2

apicid      : 0

initial apicid   : 0

fpu      : yes

fpu_exception   : yes

cpuid level   : 13

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 pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave lahf_lm arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid

bogomips   : 2394.64

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      : 42

model name   : Intel(R) Celeron(R) CPU 857 @ 1.20GHz

stepping   : 7

microcode   : 0x18

cpu MHz      : 1200.000

cache size   : 2048 KB

physical id   : 0

siblings   : 2

core id      : 1

cpu cores   : 2

apicid      : 2

initial apicid   : 2

fpu      : yes

fpu_exception   : yes

cpuid level   : 13

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 pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave lahf_lm arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid

bogomips   : 2394.64

clflush size   : 64

cache_alignment   : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:
```

```
school_laptop user # 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: acpi-cpufreq

  CPUs which run at the same hardware frequency: 0 1

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

  maximum transition latency: 10.0 us.

  hardware limits: 800 MHz - 1.20 GHz

  available frequency steps: 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz

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

  current policy: frequency should be within 800 MHz and 800 MHz.

                  The governor "ondemand" may decide which speed to use

                  within this range.

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

  cpufreq stats: 1.20 GHz:74.25%, 1.10 GHz:0.36%, 1000 MHz:0.82%, 900 MHz:1.02%, 800 MHz:23.56%  (399)

analyzing CPU 1:

  driver: acpi-cpufreq

  CPUs which run at the same hardware frequency: 0 1

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

  maximum transition latency: 10.0 us.

  hardware limits: 800 MHz - 1.20 GHz

  available frequency steps: 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz

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

  current policy: frequency should be within 1.20 GHz and 1.20 GHz.

                  The governor "ondemand" may decide which speed to use

                  within this range.

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

  cpufreq stats: 1.20 GHz:95.73%, 1.10 GHz:0.04%, 1000 MHz:0.15%, 900 MHz:0.13%, 800 MHz:3.95%  (159)
```

```
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 

1200000 1100000 1000000 900000 800000
```

```
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq 

800000
```

Sorry for the wall of output, but I figured too much information is better than no information   :Very Happy: 

----------

## eccerr0r

I've seen a lot of people trying to underclock their CPUs to save power.  But really a lot of times it's almost futile.  When idle processors are in stop grant, it doesn't really matter what MHz the machine is running when idle, it will be around the same - except if voltage can be reduced (read on).

Or are you talking about something else - trying to slow down the machine so it's slower all around so it uses less power?  This is also a fallacy, if the machine finishes its task and returns to the idle state faster, it's also saving power this way.

There's also one piece of the puzzle that is not evident hinted earlier, besides being able to just change the multiplier (this is hardware dependent and possibly locked so you can't change them, and is the reason why you see frequency steps) and that's the capability of reducing voltage to the CPU.  Not all CPUs/motherboards can do this and requires more testing than just reducing the voltage.   Voltage is a big influence in power but if it can't be controlled, changing frequencies doesn't do as much as one would hope.

I have a feeling for the Intel Core (NHM/SNB/IVT) the minimum multiplier is 8, and BCLK is 100MHz = 800MHz.)  It seems this way for my i5-3317U and I'll check my i7-2700K later...  I think your Celeron 857 is also SNB based on Intel's ARK site.

Are you using userspace governor (though I don't think it makes a difference as I don't think the CPU supports going lower than that?)

----------

## aerofly5

I'm using the ondemand governor, but on battery power the max clock is set to 800MHz by laptop-mode-tools. The main reason I want to adjust the clock is because of heat. I haven't had many laptops, so I don't know how irregular it is, but the design for the heat sinks and the body of the laptop seem nonsensical to me. It'll very readily heat up, causing thinkfan to spin up the (very noisy) fans. I tried increasing the temp limits for the different levels, raising the fan trigger to 65 degrees from the default 55, but it consumed significantly more power with this configuration... Much to my confusion. It doesn't really matter, as I already get about 10 or 11 hours of battery life out of it, but of course I'd like to get as much as possible out of it

Although, I must say, I'm glad I chose a ThinkPad for my first laptop. I've had 3 or 4 second hand ones, but this is so many times more fantastic then any other I've previously owned

----------

## dmpogo

Well, you should check what frequencies your platform supports.  My Thinkpad x300 supports just 2 - 800 MhZ and 1200 Mhz, so whatever cpufreq games - it will be switching just between the two.

----------

## eccerr0r

Also need to keep in mind that the CPU is not the only source of heat, you need to also account for power converters, chipsets, etc. also generate heat.  Really what you need is reduce voltage but I don't know if you're ready to take the soldering iron to the board (or if the chip will handle lower voltages without running improperly.)

I think this is normal for a lot of "fast" laptops.  Pretty much every one of my laptops get warm even when idle, and typically very hot when under load.  It's not a desired trait of course but hard to avoid with x86 processors available today just to keep the speed up.

It looks like my i7-2700K SNB desktop has min clock of 1.6GHz (16x BCLK)...  Not sure if the min multiplier is hardcoded or not, but since the 2700K is unlocked, I don't know... (its top end is 59x, but I can only run it at 41x without a better heatsink...)  And though it stays fairly cool when idle, it gets viciously hot, fans on full blast when under load, and finishes my emerges much faster than any other machine I have...

----------

## aerofly5

Oh, ok. This is a laptop I need to be in working condition, so I think soldering is out of the question. Like I said, its not of great importance, its just an optimisation I'd like to be able to do. Thank you both for your time

Also, what should I mark this thread as? Sorry for the noob question, but this is my first time posting on such a forum

----------

