Results 1 to 10 of 126

Thread: HOWTO: CPU Frequency Scaling w/ Kernel Module

Threaded View

  1. #1
    Join Date
    Dec 2005
    Location
    U.S.
    Beans
    110
    Distro
    Ubuntu 6.10 Edgy

    Post HOWTO: CPU Frequency Scaling w/ Kernel Module

    I thought I would write a little howto on how to get cpu frequency scaling to work directly with the kernel modules. These modules are generally more efficient for performance computing and battery life.

    Prerequisites
    kernel >= 2.6.9

    Step 1: Enable BIOS Support
    Enter your BIOS at boot and make sure Cool'n'Quiet (AMD) or SpeedStep (Intel) is enable for you CPU. Some BIOS may not have option at all. If that is the case it is probably enabled by default. Other BIOS may have the option but it is listed as another name altogether. If that is the case check your BIOS manual for more info.

    Step 2: Remove Userspace Scaling Software
    powernowd
    Code:
    sudo apt-get remove powernowd
    cpudyn
    Code:
    sudo apt-get remove cpudyn
    Step 3: Install CPU Module
    Identify your cpu type by runnig the command
    Code:
    cat /proc/cpuinfo
    You can also Check the following links
    AMD CPU Chart - http://www.tomshardware.com/2005/11/...05/page20.html
    Intel CPU Chart - http://www.tomshardware.com/2005/11/...05/page21.html

    AMD Sempron/Athlon/MP ( K7 )
    Socket Types: A, Slot A
    Code:
    sudo modprobe powernow-k7
    AMD Duron/Sempron/Athlon/Opteron 64 ( K8 )
    Socket Types: 754, 939, 940, S1 ( 638 ), AM2 ( 940 ), F ( 1207 )
    Code:
    sudo modprobe powernow-k8
    Intel Core Duo
    Code:
    sudo modprobe speedstep-centrino
    Intel Pentium M
    Code:
    sudo modprobe speedstep-centrino
    Others (Unknown)
    I'm not entirely sure which cpus are supported using this module. If your cpu doesn't work with one of the above methods try this one.
    Code:
    sudo modprobe acpi-cpufreq
    Step 4: Scaling Modules
    Code:
    sudo modprobe cpufreq_conservative
    sudo modprobe cpufreq_ondemand
    sudo modprobe cpufreq_powersave
    sudo modprobe cpufreq_stats
    sudo modprobe cpufreq_userspace
    Step 5: Testing/Configuration
    Show Available Governors
    Code:
    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
    You should see output similar to
    Code:
    powersave conservative ondemand performance
    conservative
    Description: CPU frequency is scaled based on load in incremental steps up and down.
    Code:
    sudo -s
    echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    Advanced Configuration Options
    Code:
    cd /sys/devices/system/cpu/cpu0/cpufreq/conservative
    ondemand
    Description: CPU frequency is scaled based on load.
    Code:
    sudo -s
    echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    Advanced Configuration Options
    Code:
    cd /sys/devices/system/cpu/cpu0/cpufreq/ondemand
    performance
    Description: CPU only runs at max frequency regardless of load.
    Configuration Dir: N/A
    Code:
    sudo -s
    echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    powersave
    Description: CPU only runs at min frequency regardless of load.
    Configuration Dir: N/A
    Code:
    sudo -s
    echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    Step 6: Load Modules at Boot
    Add the following lines to the end of /etc/modules
    Code:
    cpufreq_conservative
    cpufreq_ondemand
    cpufreq_powersave
    cpufreq_stats
    cpufreq_userspace
    [Module from Step 3]
    Step 7: Configure Modules at Boot
    This step needs to be done in order for the modules to retain your settings.
    Make sure you have sysfsutils installed
    Code:
    sudo apt-get install sysfsutils
    Then add the following lines to /etc/sysfs.conf
    Code:
    devices/system/cpu/cpu0/cpufreq/scaling_governor=ondemand
    Where ondemand can be changed to another governor type (i.e. conservative, powersave, etc.). You can also add other configuration options that are specific to the governor selected.

    Useful Links
    http://ubuntu.wordpress.com/2005/11/...uency-scaling/
    http://martin.ankerl.org/category/linux/
    http://gentoo-wiki.com/HOWTO_Undervolt_a_Pentium_M_CPU
    http://wejp.k.vu/projects/howto_cnq_athlon_64_x2/
    Last edited by pharcyde; September 9th, 2006 at 12:55 AM.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •