This is a simple package for actively enforcing a CPU performance policy.

It supports 4 policies at present:

dynamic - the default policy, which monitors the amount of CPU idle
  time, and increases the CPU speed if it gets too low, or decreases
  it if it gets to high.  This is a good balance between battery life
  and performance, but some applications may experience erratic
  performance because of the latency in speeding up the CPU.

fixed - fixed CPU speed at a particular clock rate

powersave - kernel cpufreq driver's "powersave" policy

performance - kernel cpufreq driver's "performance" policy

Speedfreq is a client-server program.  At boot, the server,
speedfreqd, is started by init, with the initial policy.  The
speedfreq client command can be used to change the current policy or
other parameters, and query the current settings.  If the server is
started with "-u", non-root clients can change the current policy.
This is useful for single-user machines (ie, typical laptops).

When speedfreq is first run, it becomes a daemon.  It listens for
requests on a socket.  Subsequent instances of speedfreq talk to the
daemon to enact changes or query state.  Speedfreq doesn't do any
policy changes (for example, switching policies based on power source
or remaining battery life) - it assumes that an external entity will
know what to do and tell it to do it.

If the daemon is started with "-u", then it will allow non-root users
to set the current policy.

For developers, there are two client libraries.  C programmers can use
libspeedfreq, while Python programmers can use the speedfreq module.
