summaryrefslogtreecommitdiff
path: root/drivers/devfreq/devfreq_simple_dev.c
diff options
context:
space:
mode:
authorSaravana Kannan <skannan@codeaurora.org>2015-06-11 16:04:23 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:04:26 -0700
commit7abb04398a7c1772624af4c8f381bb624d7948d4 (patch)
tree978c9a07d7dc3ff3e0bea67505b8d39263750c53 /drivers/devfreq/devfreq_simple_dev.c
parent09229aeed6745b2ee97f9ddd7cacb69ddba838e1 (diff)
PM / devfreq: bw_hwmon: Update to low latency, high sampling rate algorithm
The existing bw_hwmon governor samples the bandwidth every polling_interval milliseconds and makes decisions. Polling interval of 50ms or even 10ms gives a very low resolution picture of the DDR/bus traffic. Due to the lower resolution picture, the existing governor algorithm has to be biased aggressively towards performance to avoid any performance degradation compared to using a static mapping between bus master (CPU, GPU, etc) frequency to DDR/bus BW votes. While the existing governor uses IRQ to get early notification of traffic increase, even a 4x early notification for a 50ms polling interval still takes 12.5ms. This kind of reaction time is still too slow for some bus masters like CPU. To take care of these limitations, rewrite the governor algorithm to take multiple short samples of BW within a decision window (polling interval) and use that higher resolution picture to make much better and faster decisions. Doing so allows the governor to have the following features: - Very low reaction time - Over voting to stay ahead of increasing traffic - Historic peak tracking to limit over voting - Being power aware when doing over voting - Pattern detection and intelligent hysteresis - Detection low traffic modes and being less aggressive about BW votes Change-Id: I69886b7fbeea0b64d10b5a1fb23fcb5f3918f0ce Signed-off-by: Saravana Kannan <skannan@codeaurora.org>
Diffstat (limited to 'drivers/devfreq/devfreq_simple_dev.c')
0 files changed, 0 insertions, 0 deletions