platform/x86: Support Turbo Boost Max 3.0 for non HWP systems
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Wed, 18 Jan 2017 18:29:15 +0000 (10:29 -0800)
committerDarren Hart <dvhart@linux.intel.com>
Sat, 4 Feb 2017 01:47:20 +0000 (02:47 +0100)
commit4ec567b8dda20d0129b60da63a472246f09e03d4
tree70d00bc57305ec3502378515130e50727be5b4ea
parenta28c7e93bf26f16948065dbbf4cbe3c457386f41
platform/x86: Support Turbo Boost Max 3.0 for non HWP systems

On platforms supporting Intel Turbo Boost Max Technology 3.0, the
maximum turbo frequencies (turbo ratio) of some cores in a CPU package
may be higher than the other cores in the same package.  In that case,
better performance can be achieved by making the scheduler prefer to run
tasks on the CPUs with higher max turbo frequencies.

On IntelĀ® Broadwell Xeon systems, it is optional to turn on HWP
(Hardware P-States). When HWP is not turned on, the BIOS doesn't
present required CPPC (Collaborative Processor Performance Control)
tables. This table is used to get the per CPU core maximum performance
ratio and inform scheduler (in cpufreq/intel_pstate driver).

On such systems the maximum performance ratio can be read via over
clocking (OC) mailbox interface for each CPU. This interface is not
architectural and can change for every model of processors.

This driver reads maximum performance ratio of each CPU and set up
the scheduler priority metrics. In this way scheduler can prefer CPU
with higher performance to schedule tasks.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
drivers/platform/x86/Kconfig
drivers/platform/x86/Makefile
drivers/platform/x86/intel_turbo_max_3.c [new file with mode: 0644]