1. A method for allocating processing resources between primary work and secondary work on a data processing system, comprising: collecting performance data for a data processing system while the system is performing both the primary work and secondary work; determining a performance baseline for the data processing system based upon an estimation of the performance of the data processing system as if the secondary work is not being performed; calculating a performance impact based upon a difference between the performance baseline and the performance data; and throttling the secondary work based upon the performance impact.