]> git.ipfire.org Git - people/ms/linux.git/commit
cpufreq / intel_pstate: fix ffmpeg regression
authorDirk Brandewie <dirk.j.brandewie@intel.com>
Tue, 7 May 2013 15:20:27 +0000 (08:20 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 19 May 2013 18:38:42 +0000 (11:38 -0700)
commitb540137a810d0267051c538e68d4348e43a1edf3
tree48aac50c8f1054f342a360ff9feee23bda1a0e8e
parent2aa491f8bdcac932006548b1a2b655b29c942e08
cpufreq / intel_pstate: fix ffmpeg regression

commit ca182aee389f8026401510f4c63841cb02c820e8 upstream.

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%

Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/cpufreq/intel_pstate.c