I wrote some P-State switching code for ACPI that I released to the heatload mailing list. It was just an expansion of a little something I had written to be able to run long enough off batteries to get some work done at the local coffee shop. But then they banned smoking in coffee shops in New York City so my laptop was relegated to the back of the closet. But others have kept working... here are a few I've collected from the cpufreq mailing list.

I may still release another version of my code, I had seperated out a server with a unix socket and a kde applet to control it, but never released it. But I'm not going to spend any time on it until I can get 2.6.0-test to run properly on my laptop. ACPI and cpufreq have changed and the cpufreq interface is much better. But I'm keeping up with these to see if I could simply send a patch to one to get the features I want.

Specifically I want a simple way to create policies for different user profiles without coding. The internal class structure in my code reveals what kind of xml or rc file structure I think might be sufficient. This would let users experiment with different policies and publish ones that work for their laptop and work profile. I'd also like the GUI to provide a simple way to submit one of these policies along with the laptop name and specs. Of course, a kde and gnome applet are essential.

There is a rumor that a lower east side bar, that will remain nameless, serves coffee and ashtrays in the afternoon until the drinkers turn up...

-- Daniel Kristjansson

Date: Thu, 17 Jul 2003 15:58:25 -0400 (EDT)
From: John Clemens 
To: cpufreq@www.linux.org.uk
Subject: PowerNowd v.75


Yes, i released another cpufreq client daemon.  don't yell, i actually
wrote it months ago when everyone else was just writing their's too :-).

It's simple, and just works very well for me.  I'm not trying to step on
anyone's toes but i figured i wrote it so I may as well put it out there
in case someone else finds it ueeful or wants to use some of the ideas in
it.  not that it's rocket science...


http://www.deater.net/john/powernowd.html

enjoy,
john.c

Date: Tue, 08 Jul 2003 14:19:58 +0200
From: Malte Thoma 
To: Holger Wansing , heatload-general@lists.berlios.de,
     Andreas Metzler 
Subject: [Heatload-general] heatload & call for help

After fixing a bug which was responsble for malefunction on some
ACPI-specifications 0.7.4 is out.
If you hav'nt trouble so far 0.7.3 should be good enough for you.

Call for help:
If someone wants to improve (=write) the manpage (based on the ---help
option) heatload perhaps will go into the
debian unstable tree ...

Greetings,

malte

Here is the new version:


ftp://ftp.berlios.de/pub/heatload/


To: CPUFreq Mailing List 
Subject: [ANN] cpufreqd-1.0.1 released


cpufreqd-1.0.1 has been released.

This release mainly focus on fixing linux-2.6 sysfs support


http://www.sourceforge.net/projects/cpufreqd


cpufreqd is meant to be a replacement of the speedstep applet you
can find on some other OS, it monitors battery level, AC state and
running programs and adjusts the frequency governor according to
a set of rules specified in the config file.

thanks
--
mattia
:wq!



From: Vivek Haldar 
To: cpufreq@www.linux.org.uk
Subject: [App announcement] LAMP: Linux and Managed Power

Hello all,

LAMP is a simple user-level tool to adapt CPU frequency to CPU load, to 
achieve
a balance between performance and battery life for laptops.

It uses the interface provided by CPUFreq to do frequency scaling guided 
by CPU
load.


http://gandalf.ics.uci.edu/~haldar/lamp/

Feedback appreciated.

Enjoy,
--
Vivek Haldar
vhaldar@uci.edu
http://www.ics.uci.edu/~vhaldar





From: Mattia Dongili 
To: cpufreq@www.linux.org.uk
Subject: Re: Which cpufreq driver is best for ...

On Wed, Sep 03, 2003 at 04:32:50PM +0200, Norbert Preining wrote:
> On Mit, 03 Sep 2003, Bas Mevissen wrote:
[...]
> I have this one running, it it called
>       cpudyn(d)
> and is in debian/sid. Adapts to the load quite fast. Normallz the laptop
> is in 274MHz mode, but is going up to 2200MHz immediately when I start
> latex-ing or gcc-ing.
> 
> Now, what would be nice, is a cpudyn2 that steps the processor dependend
> on the load to different speeds.

you could try the CVS version of cpufreqd from

www.sf.net/projects/cpufreqd that support cpu load monitoring in it's
soon to be released version or


http://www.goop.org/~jeremy/speedfreq

or see this old thread:

http://www.linux.org.uk/mailman/private/cpufreq/2003-March/001862.html

hth
-- 
mattia
:wq!


From: Jeroen van der Vegt 
Cc: cpufreq list 
Subject: Re: Dynamic frequency governor

And I just wrote a first public version of yet another similar tool,
Slowmotion: http://atlas.et.tudelft.nl/ajvdvegt/laptop/slowmotion.tgz

It only uses speeds available on your platform. It the algorithm tries
to match CPU-speed to CPU-load: at 0% load, it'll go to lowest speed, at
full load to highest speed. At e.g. 50% cpu-load, it'll go to the speed
right in the middle between min. speed and max. speed.
It hasn't really surpassed the 'works for me' phase though. ;)

I didn't know about the other two programs mentioned either :(

Jeroen.

From: David Kar-Fai Tam 
Cc: cpufreq@www.linux.org.uk
Subject: Re: Dynamic frequency governor

On Fri, 17 Oct 2003, Moore, Robert wrote:

> I've been chartered to implement a multi-state algorithm for Linux;
> this will be a new governor that adjusts the CPU frequency based upon
> percent CPU utilization as reported from the kernel idle handler.
> 
> Has any work been done (or is being done) in this area?  I don't want to
> rewrite the wheel.

I am a graduate student working on a course project involving
implementing DVS algorithms on mobile devices.

We (3 graduate students) are attempting to implement several DVS
algorithms (as described in various research papers) in Linux 2.6 using
the CPUFreq API. According to Dominik Brodowski, we will be attempting to 
implement a dynamic governor for the CPUFreq API.
We plan to do this in the kernel.

You can check out our project website at

http://www.eecg.toronto.edu/~tamda/csc2228/
You will find a proposal and a recent progress report.