--- drivers/cpufreq/intel_pstate.c | 4 ++++ 1 file changed, 4 insertions(+) Index: linux-pm/drivers/cpufreq/intel_pstate.c =================================================================== --- linux-pm.orig/drivers/cpufreq/intel_pstate.c +++ linux-pm/drivers/cpufreq/intel_pstate.c @@ -989,6 +989,10 @@ static inline int32_t get_target_pstate_ sample_ratio = div_fp(int_tofp(pid_params.sample_rate_ns), int_tofp(duration_ns)); core_busy = mul_fp(core_busy, sample_ratio); + } else { + sample_ratio = div_fp(cpu->sample.mperf * 100, cpu->sample.tsc); + if (sample_ratio < int_tofp(2)) + core_busy = mul_fp(core_busy, sample_ratio); } cpu->sample.busy_scaled = core_busy;