cpufreq: intel_pstate: Improve IO performance with per-core P-states
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Fri, 4 Aug 2017 02:03:14 +0000 (19:03 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 4 Aug 2017 11:58:57 +0000 (13:58 +0200)
commit7bde2d50014d3c5110b1db9a8e2659b6fa5f6b4a
tree326c079e22ca25a1d75572b99cebd229a9d82a43
parentf5c13f44c7ad4fc0ce78e5da996762c2aebf510b
cpufreq: intel_pstate: Improve IO performance with per-core P-states

In the current implementation, the response latency between seeing
SCHED_CPUFREQ_IOWAIT set and the actual P-state adjustment can be up
to 10ms.  It can be reduced by bumping up the P-state to the max at
the time SCHED_CPUFREQ_IOWAIT is passed to intel_pstate_update_util().
With this change, the IO performance improves significantly.

For a simple "grep -r . linux" (Here linux is the kernel source
folder) with caches dropped every time on a Broadwell Xeon workstation
with per-core P-states, the user and system time is shorter by as much
as 30% - 40%.

The same performance difference was not observed on clients that don't
support per-core P-state.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
[ rjw: Changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/intel_pstate.c