1. A method of adjusting an operating frequency for a processor, comprising: executing a workload with a processor; determining a number of retired instructions and a number of input/output queue events for a workload; determining if a performance characteristic is within a desired performance range based at least in part on the number of retired instructions and the number of input/output queue events; if the performance characteristic is within the desired performance range, determining an amount of time on die and an amount of time off die for the workload; determining if a phase shift occurred based on the amount of time on die and the amount of time of die; and if the phase shift occurred, determining a new target frequency for a processor to execute the workload.