]> git.baikalelectronics.ru Git - kernel.git/commit
x86/intel_pstate: Handle runtime turbo disablement/enablement in frequency invariance
authorGiovanni Gherdovich <ggherdovich@suse.cz>
Wed, 22 Jan 2020 15:16:17 +0000 (16:16 +0100)
committerIngo Molnar <mingo@kernel.org>
Tue, 28 Jan 2020 20:37:06 +0000 (21:37 +0100)
commit37ce64db68481d100c26a009857df00532b913e6
tree12730094c862018d0a80f261b3abe54d7e7f4186
parentc95c02c3ea8f97fbb9888ec2aca241bf67a3434d
x86/intel_pstate: Handle runtime turbo disablement/enablement in frequency invariance

On some platforms such as the Dell XPS 13 laptop the firmware disables turbo
when the machine is disconnected from AC, and viceversa it enables it again
when it's reconnected. In these cases a _PPC ACPI notification is issued.

The scheduler needs to know freq_max for frequency-invariant calculations.
To account for turbo availability to come and go, record freq_max at boot as
if turbo was available and store it in a helper variable. Use a setter
function to swap between freq_base and freq_max every time turbo goes off or on.

Signed-off-by: Giovanni Gherdovich <ggherdovich@suse.cz>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://lkml.kernel.org/r/20200122151617.531-7-ggherdovich@suse.cz
arch/x86/include/asm/topology.h
arch/x86/kernel/smpboot.c
drivers/cpufreq/intel_pstate.c