Since an idle time got by "sysctl kern.cp_time" is the average idle time of all the CPUs, powerd will not increase frequency when one of the CPUs is busy and the others are not. I guess many people will recognize this problem if they uses the system that has more than 4 CPUs because the default value of the -r option is 65. Fix: Consider the number of CPUs. I made a following patch to recognize the number of CPUs. Another approach to solve this problem is using idle time of the process [idle:cpu0], [idle:cpu1], [idle:cpu2], and [idle:cpu3] instead of sysctl kern.cp_time. However, since it requires drastic change of code, I avoided it. How-To-Repeat: Just run powerd on the system which has more than 4 CPUs, and make one of the CPUs busy while the others are idle.
Since the structure of patch is broken down on this web page, I also put the patch to the following: http://www.pcc-software.org/~osho/powerd.patch
State Changed From-To: open->closed Fixed in -CURRENT by r185050.