HEAD now has a /usr/sbin/powerd daemon for systems which support ACPI based cpu frequency adjustment. Your system supports this if it has the hw.acpi.cpu.px_dom* sysctls:
sysctl hw.acpi | fgrep dom This is a first attempt from scratch daemon. It takes no arguments and is very generous. Any 1-second load > 0.25 will set the cpus to their maximum frequency. When the 10-second load drops down below 0.12 the cpus will be set to their minimum frequency. The power savings is usually around 40%. I'm not sure how well it works for a desktop/X environment as my current workstation has an old BIOS that doesn't support the feature, but it works very nicely on servers. If the 1-second delay to go to max-frequency isn't fast enough for a desktop environment we will probably need a kernel facility that the daemon can block on (so it doesn't have to poll quickly) and have the kernel wake it up when the instantanious load exceeds a certain value. That way the daemon would be able to react within 1/10 to 1/15 of a second or so. Maybe the device event stuff being worked on can be used to support such a facility. -Matt Matthew Dillon <dil...@backplane.com>