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-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull power management fixes from Rafael Wysocki:
"One revert of a recent cpufreq commit that introduced a regression and
a fix for intel_pstate's Turbo Activation Ratio handling code.

Specifics:

- Revert cpufreq commit that attempted to fix a problem in the
ondemand/conservative governor code, but did that incorrectly and
introduced another problem instead (Rafael Wysocki).

- Fix incorrect decoding of MSR contents related to the Turbo
Activation Ratio (TAR) handling in the intel_pstate driver
(Srinivas Pandruvada)"

* tag 'pm+acpi-4.6-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
cpufreq: intel_pstate: Fix processing for turbo activation ratio
Revert "cpufreq: governor: Fix negative idle_time when configured with CONFIG_HZ_PERIODIC"

+7 -6
+2 -6
drivers/cpufreq/cpufreq_governor.c
··· 193 193 wall_time = cur_wall_time - j_cdbs->prev_cpu_wall; 194 194 j_cdbs->prev_cpu_wall = cur_wall_time; 195 195 196 - if (cur_idle_time <= j_cdbs->prev_cpu_idle) { 197 - idle_time = 0; 198 - } else { 199 - idle_time = cur_idle_time - j_cdbs->prev_cpu_idle; 200 - j_cdbs->prev_cpu_idle = cur_idle_time; 201 - } 196 + idle_time = cur_idle_time - j_cdbs->prev_cpu_idle; 197 + j_cdbs->prev_cpu_idle = cur_idle_time; 202 198 203 199 if (ignore_nice) { 204 200 u64 cur_nice = kcpustat_cpu(j).cpustat[CPUTIME_NICE];
+5
drivers/cpufreq/intel_pstate.c
··· 813 813 if (err) 814 814 goto skip_tar; 815 815 816 + /* For level 1 and 2, bits[23:16] contain the ratio */ 817 + if (tdp_ctrl) 818 + tdp_ratio >>= 16; 819 + 820 + tdp_ratio &= 0xff; /* ratios are only 8 bits long */ 816 821 if (tdp_ratio - 1 == tar) { 817 822 max_pstate = tar; 818 823 pr_debug("max_pstate=TAC %x\n", max_pstate);