]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commit - drivers/cpufreq/intel_pstate.c
intel_pstate: add sample time scaling
authorDirk Brandewie <dirk.j.brandewie@intel.com>
Thu, 29 May 2014 16:32:24 +0000 (09:32 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 2 Jun 2014 10:45:05 +0000 (12:45 +0200)
commitc4ee841f602e5eef8eab673295c49c5b49d7732b
treeb5ba45afb69212794a1fe53f215992413923e348
parentf0fe3cd7e12d8290c82284b5c8aee723cbd0371a
intel_pstate: add sample time scaling

The PID assumes that samples are of equal time, which for a deferable
timers this is not true when the system goes idle.  This causes the
PID to take a long time to converge to the min P state and depending
on the pattern of the idle load can make the P state appear stuck.

The hold-off value of three sample times before using the scaling is
to give a grace period for applications that have high performance
requirements and spend a lot of time idle,  The poster child for this
behavior is the ffmpeg benchmark in the Phoronix test suite.

Cc: 3.14+ <stable@vger.kernel.org> # 3.14+
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/intel_pstate.c