Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'pm+acpi-4.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull power management fixes from Rafael Wysocki:
"Two fixes for issues introduced recently, one for an intel_pstate
driver problem uncovered by the recent switch over from using timers
and the other one for a potential cpufreq core problem related to
system suspend/resume.

Specifics:

- Fix an intel_pstate driver problem causing CPUs to get stuck in the
highest P-state when completely idle uncovered by the recent switch
over from using timers (Rafael Wysocki).

- Avoid attempts to get the current CPU frequency when all devices
(like I2C controllers that may be nedded for that purpose) have
been suspended during system suspend/resume (Rafael Wysocki)"

* tag 'pm+acpi-4.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
cpufreq: Abort cpufreq_update_current_freq() for cpufreq_suspended set
intel_pstate: Avoid getting stuck in high P-states when idle

+7
+3
drivers/cpufreq/cpufreq.c
··· 1491 1491 { 1492 1492 unsigned int new_freq; 1493 1493 1494 + if (cpufreq_suspended) 1495 + return 0; 1496 + 1494 1497 new_freq = cpufreq_driver->get(policy->cpu); 1495 1498 if (!new_freq) 1496 1499 return 0;
+4
drivers/cpufreq/intel_pstate.c
··· 1130 1130 sample_ratio = div_fp(int_tofp(pid_params.sample_rate_ns), 1131 1131 int_tofp(duration_ns)); 1132 1132 core_busy = mul_fp(core_busy, sample_ratio); 1133 + } else { 1134 + sample_ratio = div_fp(100 * cpu->sample.mperf, cpu->sample.tsc); 1135 + if (sample_ratio < int_tofp(1)) 1136 + core_busy = 0; 1133 1137 } 1134 1138 1135 1139 cpu->sample.busy_scaled = core_busy;