The name is somewhat misleading, as any processor supported by the kernel cpufreq driver will work, not just processors supporting AMD's PowerNow! technology. This daemon works best with processors that support more then 2 frequency steps, like those with AMD's PowerNow!, and Intel's Pentium M family.
Mode 0, SINE, changes the frequency as a sine wave function, raising the frequency by "step" Hz every time the CPU usage goes over 80%, and decreases it by "step" Hz when the CPU usage falls under 20%.
Mode 1, AGGRESSIVE, changes frequency by a sawtooth function.
Immediately jumps to the highest frequency whenever CPU usage goes over 80%, and decreases by "step" Hz as usage drops below 20%. This is the default behavior.
Mode 2, PASSIVE, is the inverse of AGGRESSIVE. Immediately jump to lowest frequency when usage drops below 20%. Raise by "step" Hz if it goes above 80%.
Some other daemons are better suited for two speed states, and toggle between two states based upon load. This daemon does a better job handling intermediate steps.
Other daemons are written in Perl, Python, or C++. This is a simple C program.
Some other daemons rely on APM or ACPI. The sysfs interface to the 2.6 kernel is simple, completely sufficient, and completely portable to all architectures that support the CPUfreq support in the kernel.
Some other daemons change thier behavior based upon battery status, AC status, temperature, etc. What good is having a nice powerful laptop if you can't use it at full speed, even for a few seconds, while on battery power? This daemon just measures CPU load, and bases decisions solely upon that.
This manual page was written by Bdale Garbee <email@example.com>, for the Debian project (but may be used by others).