Difference between revisions of "How to get SpeedStep working on P4-class-Celeron based ThinkPads"

From ThinkWiki
Jump to: navigation, search
(Powernowd)
Line 10: Line 10:
 
make sure to have the sys interface built within your kernel
 
make sure to have the sys interface built within your kernel
 
  CONFIG_SYSFS=y
 
  CONFIG_SYSFS=y
 
  
 
==using the sysfs interface==
 
==using the sysfs interface==
 
use the sys-interface to discover and set available frequencies
 
use the sys-interface to discover and set available frequencies
 
  
 
make sure to have sysfs mounted:
 
make sure to have sysfs mounted:
Line 20: Line 18:
 
  none            /sys            sysfs          defaults                0      0
 
  none            /sys            sysfs          defaults                0      0
 
to your /etc/fstab (if not already there)
 
to your /etc/fstab (if not already there)
 
  
 
get available freqencies:
 
get available freqencies:
laptop:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
+
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies}}
 
  275000 550000 825000 1100000 1375000 1650000 1925000 2200000
 
  275000 550000 825000 1100000 1375000 1650000 1925000 2200000
 
  
 
set frequency:
 
set frequency:
laptop:~# echo 825000 >/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
+
:{{cmdroot|echo 825000 >/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}}
 
 
 
 
use powernowd (easier) or cpufreq (more settings) to have cpuspeed dynamically managed
 
  
 +
You can use powernowd (easier) or cpufreq (more settings) to have cpuspeed dynamically managed.
  
 
==Powernowd==
 
==Powernowd==
 
for powernowd use the sys interface to set the min and max speed:
 
for powernowd use the sys interface to set the min and max speed:
laptop:~# echo 825000 >/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+
:{{cmdroot|echo 825000 >/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq}}
laptop:~# echo 2200000 >/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
+
:{{cmdroot|echo 2200000 >/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq}}
laptop:~# /etc/init.d/powernowd start
+
:{{cmdroot|/etc/init.d/powernowd start}}
  
on my R40e frequencies below 825000 make x almost unusable (mouse jumps around, until cpuspeed rises)
+
On my R40e frequencies below 825000 make x almost unusable (mouse jumps around, until cpuspeed rises).
  
 
==cpufreqd==
 
==cpufreqd==

Revision as of 01:04, 16 July 2005

Introduction

If you have an P4-class Celeron based Thinkpad (like the R40e in my case) you can use the p4-Clockmod scaling option from 2.6 kernels to set cpu speed. Use any userspace daemon like powernowd or cpufreqd to get dynamic speedstepping to work.

Kernel config

CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_X86_P4_CLOCKMOD=y (for R40e, p4-class celeron, other tp's might need something different here)

make sure to have the sys interface built within your kernel

CONFIG_SYSFS=y

using the sysfs interface

use the sys-interface to discover and set available frequencies

make sure to have sysfs mounted: add

none            /sys            sysfs           defaults                0      0

to your /etc/fstab (if not already there)

get available freqencies:

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
275000 550000 825000 1100000 1375000 1650000 1925000 2200000

set frequency:

# echo 825000 >/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed

You can use powernowd (easier) or cpufreq (more settings) to have cpuspeed dynamically managed.

Powernowd

for powernowd use the sys interface to set the min and max speed:

# echo 825000 >/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
# echo 2200000 >/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
# /etc/init.d/powernowd start

On my R40e frequencies below 825000 make x almost unusable (mouse jumps around, until cpuspeed rises).

cpufreqd

TODO