#6 Question regarding dynamic scaling

closed
nobody
None
5
2005-08-25
2004-11-29
Nik Martin
No

My intent in using cpufreqd is geared more towards temp
and fan management that anyting else. I implemented
the default cpufreqd.conf, with modifications for the
available scaling frequenciesin my Centrino 1.5 gHz
processor. I'd like to have agressive scaling while on
AC in order ot keep the fan off and temperature down as
much as possible. I'd like to scale up when programs
need CPU cycles, then fall back to 600 mHz as soon as
the load is over. I run KDE on X, so there is obviously
some CPU overhead, but I find that with the default
configuration, my CPU typically runs at 1500 mHz, even
when top shows very little load. I do want CPU cycles
available when needed (gaming, compiling, etc) but for
the most part use my laptop for business, so mail,
browser, and OpenOffice are my main apps, and I rarely
require the full 1500 mHz. Is there a better profile
to tell cpufreqd to be more agressive in scaling back
the CPU speed?

My current cpufreqd.conf:

[General]
pidfile=/var/run/cpufreqd.pid
poll_interval=2
pm_type=acpi #(acpi, apm or pmu)
# Uncomment the following line to enable ACPI
workaround (see cpufreqd.conf(5))
# acpi_workaround=1
verbosity=4 #(if you want a minimal logging set to 5)

[Profile]
name=hi_boost
# replace mifreq and maxfreq values
# with actual values of your system
minfreq=600000
maxfreq=1500000
policy=performance

[Profile]
name=medium_boost
# replace mifreq and maxfreq values
# with actual values of your system
minfreq=600000
maxfreq=1200000
policy=performance

[Profile]
name=lo_boost
# replace mifreq and maxfreq values
# with actual values of your system
minfreq=600000
maxfreq=800000
policy=performance

[Profile]
name=lo_power
# replace mifreq and maxfreq values
# with actual values of your system
minfreq=600000
maxfreq=600000
policy=powersave

# conservative mode when not AC
[Rule]
name=conservative
ac=off # (on/off)
battery_interval=0-100
cpu_interval=0-40
profile=lo_boost

# need some power
[Rule]
name=lo_cpu_boost
ac=off # (on/off)
battery_interval=0-100
cpu_interval=30-80
profile=medium_boost

# need big power (not if battery very low)
[Rule]
name=hi_cpu_boost
ac=off # (on/off)
battery_interval=50-100
cpu_interval=70-100
profile=medium_boost

# full power when AC
[Rule]
name=AC_on
ac=on # (on/off)
profile=hi_boost

# full power when watching DVDs and not AC:
# this is the last rule and takes less
# precedence with respect to the others
[Rule]
name=dvd_watching
ac=off # (on/off)
battery_interval=0-100
programs=xine,mplayer,avidemux,gcc
cpu_interval=0-100
profile=hi_boost

Discussion

  • Nik Martin

    Nik Martin - 2004-11-29

    Logged In: YES
    user_id=348826

    It seems I can do this on a centrino with the governor
    "ondemand" compiled into the kernel.

    As an interetsing sidenote, on kernel 2.6.9, if the cpufreq
    features are compiled as modules, the only governor
    available is "performance". While troubleshooting my
    original problem, I compiled everything into the kernel,
    rebooted, and now I have "performance", "powersave",
    "ondemand", and "userspace" available, and cpufreqd acts as
    I wnatedit to when my governor is set to "ondemand" scaling
    back to my min_freq as needed.

    You can mark this resolved if you need to.

     
  • Mattia Dongili

    Mattia Dongili - 2004-12-02

    Logged In: YES
    user_id=584271

    yes, there is probably a better configuration for your
    needs, almost every rule has the ac=off option set so those
    rule won't get caught when you're connected to mains supply.
    You should simply try to write some new Rule that reflects
    your needs... eg: creating scaling rules with the ac=on
    option to regulate processor speed also when you're on line.
    If you want a Rule to be applied you need to write it so
    that it has the best score for a given system state, where
    the system state in cpfreqd view is the sum of the available
    options.

    hope this helps
    --
    mattia

     
  • Mattia Dongili

    Mattia Dongili - 2005-08-25
    • status: open --> closed
     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks