linux/drivers/cpufreq
Dirk Brandewie ca182aee38 cpufreq / intel_pstate: fix ffmpeg regression
The ffmpeg benchmark in the phoronix test suite has threads on
multiple cores that rely on the progress on of threads on other cores
and ping pong back and forth fast enough to make the core appear less
busy than it "should" be.  If the core has been at minimum p-state for
a while bump the pstate up to kick the core to see if it is in this
ping pong state.  If the core is truly idle the p-state will be
reduced at the next sample time.  If the core makes more progress it
will send more work to the thread bringing both threads out of the
ping pong scenario and the p-state will be selected normally.

This fixes a performance regression of approximately 30%

Cc: 3.9+ <stable@vger.kernel.org>
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-05-12 14:04:16 +02:00
..
acpi-cpufreq.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
amd_freq_sensitivity.c cpufreq: AMD "frequency sensitivity feedback" powersave bias for ondemand governor 2013-04-10 13:19:26 +02:00
arm_big_little_dt.c cpufreq: ARM big LITTLE DT: Return CPUFREQ_ETERNAL if clock-latency isn't found 2013-05-12 14:04:15 +02:00
arm_big_little.c cpufreq: ARM big LITTLE: Improve print message 2013-05-12 14:04:15 +02:00
arm_big_little.h cpufreq: ARM big LITTLE: Move cpu_to_cluster() to arm_big_little.h 2013-05-12 14:04:15 +02:00
at32ap-cpufreq.c cpufreq: AVR32: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:25 +02:00
blackfin-cpufreq.c cpufreq: blackfin: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:25 +02:00
cpufreq_conservative.c cpufreq: conservative: Use an inline function to evaluate freq_target 2013-04-01 01:11:36 +02:00
cpufreq_governor.c cpufreq: governors: Fix CPUFREQ_GOV_POLICY_{INIT|EXIT} notifiers 2013-05-12 14:04:16 +02:00
cpufreq_governor.h cpufreq: governors: Fix CPUFREQ_GOV_POLICY_{INIT|EXIT} notifiers 2013-05-12 14:04:16 +02:00
cpufreq_ondemand.c cpufreq: ondemand: allow custom powersave_bias_target handler to be registered 2013-04-10 13:19:26 +02:00
cpufreq_performance.c cpufreq: Improve debug prints 2012-11-15 00:33:06 +01:00
cpufreq_powersave.c cpufreq: Improve debug prints 2012-11-15 00:33:06 +01:00
cpufreq_stats.c cpufreq: stats: do cpufreq_cpu_put() corresponding to cpufreq_cpu_get() 2013-03-25 15:13:16 +01:00
cpufreq_userspace.c cpufreq: Don't check cpu_online(policy->cpu) 2013-02-09 01:18:34 +01:00
cpufreq-cpu0.c cpufreq: cpufreq-cpu0: Free parent node for error cases 2013-05-12 14:04:16 +02:00
cpufreq-nforce2.c cpufreq: drivers: Remove unnecessary assignments of policy-> members 2013-04-02 15:26:32 +02:00
cpufreq.c cpufreq: Issue CPUFREQ_GOV_POLICY_EXIT notifier before dropping policy refcount 2013-05-12 14:04:16 +02:00
cris-artpec3-cpufreq.c cpufreq: cris: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:25 +02:00
cris-etraxfs-cpufreq.c cpufreq: cris: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:25 +02:00
davinci-cpufreq.c cpufreq: davinci: move cpufreq driver to drivers/cpufreq 2013-04-08 13:02:31 +02:00
dbx500-cpufreq.c cpufreq: dbx500: Round to closest available freq 2013-04-11 23:23:57 +02:00
e_powersaver.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
elanfreq.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
exynos4x12-cpufreq.c arm-soc: cleanups 2013-02-21 14:58:40 -08:00
exynos4210-cpufreq.c arm-soc: cleanups 2013-02-21 14:58:40 -08:00
exynos5250-cpufreq.c arm-soc: cleanups 2013-02-21 14:58:40 -08:00
exynos5440-cpufreq.c cpufreq: exynos5440: Protect OPP search calls with RCU lock 2013-04-22 00:24:37 +02:00
exynos-cpufreq.c cpufreq: exynos: Remove error return even if no soc is found 2013-04-10 13:19:26 +02:00
exynos-cpufreq.h arm-soc: cleanups 2013-02-21 14:58:40 -08:00
freq_table.c cpufreq: Don't check cpu_online(policy->cpu) 2013-02-09 01:18:34 +01:00
gx-suspmod.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
highbank-cpufreq.c cpufreq: highbank: do not initialize array with a loop 2013-03-04 14:23:11 +01:00
ia64-acpi-cpufreq.c cpufreq: ia64: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:25 +02:00
imx6q-cpufreq.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
integrator-cpufreq.c cpufreq: integrator: move cpufreq driver to drivers/cpufreq 2013-04-08 13:02:31 +02:00
intel_pstate.c cpufreq / intel_pstate: fix ffmpeg regression 2013-05-12 14:04:16 +02:00
Kconfig cpufreq: Fix incorrect dependecies for ARM SA11xx drivers 2013-05-12 14:04:16 +02:00
Kconfig.arm cpufreq: ARM big LITTLE: Fix Kconfig entries 2013-05-12 14:04:16 +02:00
Kconfig.powerpc cpufreq: powerpc/platforms/cell: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00
Kconfig.x86 cpufreq: AMD "frequency sensitivity feedback" powersave bias for ondemand governor 2013-04-10 13:19:26 +02:00
kirkwood-cpufreq.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
longhaul.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
longhaul.h sections: fix section conflicts in drivers/cpufreq 2012-09-14 21:10:46 +02:00
longrun.c cpufreq: Add support for x86 cpuinfo auto loading v4 2012-01-26 16:49:06 -08:00
loongson2_cpufreq.c cpufreq: mips: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:25 +02:00
Makefile cpufreq: exynos: Add cpufreq driver for exynos5440 2013-04-10 13:19:26 +02:00
maple-cpufreq.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
mperf.c [CPUFREQ] Move x86 drivers to drivers/cpufreq/ 2011-05-19 18:51:07 -04:00
mperf.h [CPUFREQ] Move x86 drivers to drivers/cpufreq/ 2011-05-19 18:51:07 -04:00
omap-cpufreq.c cpufreq: OMAP: instantiate omap-cpufreq as a platform_driver 2013-04-10 13:41:00 +02:00
p4-clockmod.c cpufreq: Don't check if cpu is online/offline for cpufreq callbacks 2013-04-02 15:26:32 +02:00
pcc-cpufreq.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
powernow-k6.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
powernow-k7.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
powernow-k7.h [CPUFREQ] Move x86 drivers to drivers/cpufreq/ 2011-05-19 18:51:07 -04:00
powernow-k8.c cpufreq: Don't check if cpu is online/offline for cpufreq callbacks 2013-04-02 15:26:32 +02:00
powernow-k8.h cpufreq: Remove support for hardware P-state chips from powernow-k8 2012-09-09 22:05:30 +02:00
ppc_cbe_cpufreq_pervasive.c cpufreq: powerpc/platforms/cell: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00
ppc_cbe_cpufreq_pmi.c cpufreq: powerpc/platforms/cell: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00
ppc_cbe_cpufreq.c cpufreq: powerpc/platforms/cell: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00
ppc_cbe_cpufreq.h cpufreq: powerpc/platforms/cell: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00
pxa2xx-cpufreq.c cpufreq: pxa2xx: initialize variables 2013-04-25 20:11:14 +02:00
pxa3xx-cpufreq.c cpufreq: pxa3xx: move cpufreq driver to drivers/cpufreq 2013-04-08 13:02:31 +02:00
s3c64xx-cpufreq.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
s3c2416-cpufreq.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
s5pv210-cpufreq.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
sa1100-cpufreq.c cpufreq: sa11x0: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:24 +02:00
sa1110-cpufreq.c cpufreq: sa11x0: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:24 +02:00
sc520_freq.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
sh-cpufreq.c cpufreq: sh: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:25 +02:00
sparc-us2e-cpufreq.c cpufreq: sparc: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00
sparc-us3-cpufreq.c cpufreq: sparc: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00
spear-cpufreq.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
speedstep-centrino.c cpufreq: Don't check if cpu is online/offline for cpufreq callbacks 2013-04-02 15:26:32 +02:00
speedstep-ich.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
speedstep-lib.c cpufreq: Add support for x86 cpuinfo auto loading v4 2012-01-26 16:49:06 -08:00
speedstep-lib.h [CPUFREQ] Move x86 drivers to drivers/cpufreq/ 2011-05-19 18:51:07 -04:00
speedstep-smi.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
tegra-cpufreq.c cpufreq: tegra: Move driver to drivers/cpufreq 2013-04-08 13:02:30 +02:00
unicore2-cpufreq.c cpufreq: unicore2: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00