A method and system for adaptively throttling a computer is provided.
Prior CPU utilization is calculated when a CPU enters an idle state. If
the prior CPU utilization warrants a change in the CPU performance level,
an appropriate CPU performance level is calculated. Policies, including
thermal policies and battery charge policies, may be applied to increase
or decrease the appropriate CPU performance level. If prior CPU
utilization and/or policies dictate a different CPU performance level,
the CPU performance level is changed.