intel_pstate: Improve accuracy by not truncating until final result
authorBrennan Shacklett <brennan@genyes.org>
Mon, 21 Oct 2013 16:20:32 +0000 (09:20 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 21 Oct 2013 23:15:38 +0000 (01:15 +0200)
commitd253d2a52676cfa3d89b8f0737a08ce7db665207
tree0764df6b50b68dea4c7d2984b5b9e599ef12f0f8
parent31d141e3a666269a3b6fcccddb0351caf7454240
intel_pstate: Improve accuracy by not truncating until final result

This patch addresses Bug 60727
(https://bugzilla.kernel.org/show_bug.cgi?id=60727)
which was due to the truncation of intermediate values in the
calculations, which causes the code to consistently underestimate the
current cpu frequency, specifically 100% cpu utilization was truncated
down to the setpoint of 97%. This patch fixes the problem by keeping
the results of all intermediate calculations as fixed point numbers
rather scaling them back and forth between integers and fixed point.

References: https://bugzilla.kernel.org/show_bug.cgi?id=60727
Signed-off-by: Brennan Shacklett <bpshacklett@gmail.com>
Acked-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/intel_pstate.c