Srinivas Pandruvada
b00345d199
cpufreq: intel_pstate: Adjust _PSS[0] freqeuency if needed
...
The maximum turbo P-State used by the intel_pstate driver may be
limited by ACPI _PSS table entry 0. After commit 9522a2ff9c
(cpufreq: intel_pstate: Enforce _PPC limits), the maximum performance
on servers will be capped by the _PSS table entry 0 by default.
Even though that is formally correct, it may lead to preformance
regressions in some cases. Namely, if the _PSS table entry 0 is
not the maximum turbo P-State, performance measured after commit
9522a2ff9c will not match the performance measured before that
commit on the same system.
For this reason, modify the code to always use the maximum turbo
frequency as the one that corresponds to _PSS table entry 0 if turbo
is enabled in the BIOS. This way, the performance levels from
before commit 9522a2ff9c will be restored on the affected systems.
Fixes: 9522a2ff9c (cpufreq: intel_pstate: Enforce _PPC limits)
Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
[ rjw : Changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-06-15 01:56:47 +02:00
..
acpi-cpufreq.c
cpufreq: ACPI: Remove freq_table from acpi_cpufreq_data
2016-04-09 01:54:31 +02:00
amd_freq_sensitivity.c
cpufreq: governor: Make governor private data per-policy
2016-03-09 14:41:08 +01:00
arm_big_little.c
cpufreq: arm_big_little: use generic OPP functions for {init, free}_opp_table
2016-05-05 01:40:04 +02:00
arm_big_little.h
cpufreq: arm_big_little: use generic OPP functions for {init, free}_opp_table
2016-05-05 01:40:04 +02:00
arm_big_little_dt.c
cpufreq: arm_big_little: use generic OPP functions for {init, free}_opp_table
2016-05-05 01:40:04 +02:00
at32ap-cpufreq.c
blackfin-cpufreq.c
blackfin-cpufreq: Mark cpu_set_cclk() as static
2015-12-28 01:51:36 +01:00
cppc_cpufreq.c
cpufreq: ACPI / CPPC: Add module support for cppc_cpufreq driver
2016-04-25 15:59:35 +02:00
cpufreq-dt-platdev.c
cpufreq: tango: Use generic platdev driver
2016-05-05 01:36:57 +02:00
cpufreq-dt.c
cpufreq: dt: Kill platform-data
2016-04-28 15:22:43 +02:00
cpufreq-nforce2.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
cpufreq.c
cpufreq: Fix clamp_val() usage in cpufreq_driver_fast_switch()
2016-06-01 22:36:26 +02:00
cpufreq_conservative.c
cpufreq: governor: New data type for management part of dbs_data
2016-04-02 01:09:00 +02:00
cpufreq_governor.c
cpufreq: governor: Fix handling of special cases in dbs_update()
2016-05-06 14:24:23 +02:00
cpufreq_governor.h
cpufreq: governor: Change confusing struct field and variable names
2016-04-28 15:10:08 +02:00
cpufreq_governor_attr_set.c
cpufreq: governor: Move abstract gov_attr_set code to seperate file
2016-04-02 01:09:01 +02:00
cpufreq_ondemand.c
cpufreq: governor: New data type for management part of dbs_data
2016-04-02 01:09:00 +02:00
cpufreq_ondemand.h
cpufreq: governor: Relocate definitions of tuners structures
2016-03-09 14:41:09 +01:00
cpufreq_performance.c
cpufreq: Clean up default and fallback governor setup
2016-02-05 02:37:42 +01:00
cpufreq_powersave.c
cpufreq: Clean up default and fallback governor setup
2016-02-05 02:37:42 +01:00
cpufreq_stats.c
cpufreq_userspace.c
cpufreq: Fix GOV_LIMITS handling for the userspace governor
2016-05-05 01:30:38 +02:00
cris-artpec3-cpufreq.c
cris-etraxfs-cpufreq.c
davinci-cpufreq.c
dbx500-cpufreq.c
e_powersaver.c
cpufreq: e_powersaver: Use IS_ENABLED() instead of checking for built-in or module
2016-04-27 22:42:34 +02:00
elanfreq.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
exynos5440-cpufreq.c
PM / OPP: Prefix exported opp routines with dev_pm_opp_
2015-09-15 02:03:16 +02:00
freq_table.c
cpufreq: Allow drivers to enable boost support after registering driver
2015-08-07 03:25:23 +02:00
gx-suspmod.c
cpufreq: gx-suspmod: Fix two typos in two comments
2015-06-15 15:46:15 +02:00
highbank-cpufreq.c
ia64-acpi-cpufreq.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
imx6q-cpufreq.c
Merge branch 'pm-opp'
2015-11-02 00:54:37 +01:00
integrator-cpufreq.c
cpufreq: integrator: Fix module autoload for OF platform driver
2015-09-25 23:29:35 +02:00
intel_pstate.c
cpufreq: intel_pstate: Adjust _PSS[0] freqeuency if needed
2016-06-15 01:56:47 +02:00
Kconfig
Merge branch 'pm-cpufreq-sched' into pm-cpufreq
2016-05-11 22:48:20 +02:00
Kconfig.arm
cpufreq: hisilicon: Use generic platdev driver
2016-04-25 16:18:24 +02:00
Kconfig.powerpc
cpufreq: qoriq: rename the driver
2015-03-18 22:35:16 +01:00
Kconfig.x86
cpufreq: intel_pstate: Enforce _PPC limits
2016-04-28 01:01:39 +02:00
kirkwood-cpufreq.c
longhaul.c
Power management material for v4.7-rc1
2016-05-16 19:17:22 -07:00
longhaul.h
longrun.c
loongson1-cpufreq.c
CPUFREQ: Loongson1: Replace goto out with return in ls1x_cpufreq_probe()
2016-05-13 14:02:08 +02:00
loongson2_cpufreq.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
Makefile
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
2016-05-19 10:02:26 -07:00
maple-cpufreq.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
mt8173-cpufreq.c
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
2016-05-26 09:23:43 -07:00
mvebu-cpufreq.c
cpufreq: mvebu: Move cpufreq code into drivers/cpufreq/
2016-04-28 15:22:43 +02:00
omap-cpufreq.c
remove lots of IS_ERR_VALUE abuses
2016-05-27 15:26:11 -07:00
p4-clockmod.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
pasemi-cpufreq.c
pcc-cpufreq.c
cpufreq: pcc-cpufreq: update default value of cpuinfo_transition_latency
2015-12-10 00:17:03 +01:00
pmac32-cpufreq.c
powerpc updates for 4.7
2016-05-20 10:12:41 -07:00
pmac64-cpufreq.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
powernow-k6.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
powernow-k7.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
powernow-k7.h
powernow-k8.c
ACPI / processor: Drop an unused argument of a cleanup routine
2015-07-22 22:11:16 +02:00
powernow-k8.h
powernv-cpufreq.c
cpufreq: powernv: del_timer_sync when global and local pstate are equal
2016-05-11 02:28:00 +02:00
ppc_cbe_cpufreq.c
ppc_cbe_cpufreq.h
cpufreq: e_powersaver: Use IS_ENABLED() instead of checking for built-in or module
2016-04-27 22:42:34 +02:00
ppc_cbe_cpufreq_pervasive.c
ppc_cbe_cpufreq_pmi.c
drivers/cpufreq: make ppc_cbe_cpufreq_pmi driver explicitly non-modular
2016-04-11 20:30:43 +10:00
pxa2xx-cpufreq.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
pxa3xx-cpufreq.c
qoriq-cpufreq.c
cpufreq: qoriq: Fix cooling device registration issue during suspend
2016-04-25 16:07:02 +02:00
s3c24xx-cpufreq-debugfs.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
s3c24xx-cpufreq.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
s3c64xx-cpufreq.c
s3c2410-cpufreq.c
s3c2412-cpufreq.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
s3c2416-cpufreq.c
s3c2440-cpufreq.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
s5pv210-cpufreq.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
sa1100-cpufreq.c
sa1110-cpufreq.c
sc520_freq.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
scpi-cpufreq.c
cpufreq: arm_big_little: use generic OPP functions for {init, free}_opp_table
2016-05-05 01:40:04 +02:00
sfi-cpufreq.c
cpufreq: sfi: use kmemdup rather than duplicating its implementation
2015-09-01 15:51:15 +02:00
sh-cpufreq.c
sparc-us2e-cpufreq.c
sparc-us3-cpufreq.c
spear-cpufreq.c
speedstep-centrino.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
speedstep-ich.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
speedstep-lib.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
speedstep-lib.h
speedstep-smi.c
cpufreq: Use consistent prefixing via pr_fmt
2016-04-09 01:35:18 +02:00
sti-cpufreq.c
cpufreq: st: enable selective initialization based on the platform
2016-04-28 15:25:56 +02:00
tegra20-cpufreq.c
cpufreq: tegra20: remove superfluous CONFIG_PM ifdefs
2015-09-26 03:00:57 +02:00
tegra124-cpufreq.c
cpufreq: tegra124: No need of setting platform-data
2016-04-09 01:12:09 +02:00
unicore2-cpufreq.c
vexpress-spc-cpufreq.c
cpufreq: arm_big_little: use generic OPP functions for {init, free}_opp_table
2016-05-05 01:40:04 +02:00