diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2018-10-15 13:51:45 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2018-10-18 09:34:13 +0200 |
commit | 12b65eadf0bd41cf0dbf460f13bcd310a81afe2b (patch) | |
tree | 21c6aa8bcaaf1aad8f13ed6855212dffd33f89a8 | |
parent | bde091ece2ad3f78d0896870f041bc52761ea3c1 (diff) | |
download | linux-12b65eadf0bd41cf0dbf460f13bcd310a81afe2b.tar.gz linux-12b65eadf0bd41cf0dbf460f13bcd310a81afe2b.tar.bz2 linux-12b65eadf0bd41cf0dbf460f13bcd310a81afe2b.zip |
cpuidle: menu: Drop redundant comparison
Since the correction factor cannot be greater than RESOLUTION * DECAY,
the result of the predicted_us computation in menu_select() cannot be
greater than data->next_timer_us, so it is not necessary to compare
the "typical interval" value coming from get_typical_interval() with
data->next_timer_us separately.
It is sufficient to copmare predicted_us with the return value of
get_typical_interval() directly, so do that and drop the now
redundant expected_interval variable.
No intentional changes of behavior.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | drivers/cpuidle/governors/menu.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/cpuidle/governors/menu.c b/drivers/cpuidle/governors/menu.c index 4ed8004643f8..3d283211ad77 100644 --- a/drivers/cpuidle/governors/menu.c +++ b/drivers/cpuidle/governors/menu.c @@ -287,7 +287,6 @@ static int menu_select(struct cpuidle_driver *drv, struct cpuidle_device *dev, int i; int idx; unsigned int interactivity_req; - unsigned int expected_interval; unsigned int predicted_us; unsigned long nr_iowaiters, cpu_load; ktime_t delta_next; @@ -323,14 +322,10 @@ static int menu_select(struct cpuidle_driver *drv, struct cpuidle_device *dev, predicted_us = DIV_ROUND_CLOSEST_ULL((uint64_t)data->next_timer_us * data->correction_factor[data->bucket], RESOLUTION * DECAY); - - expected_interval = get_typical_interval(data); - expected_interval = min(expected_interval, data->next_timer_us); - /* * Use the lowest expected idle interval to pick the idle state. */ - predicted_us = min(predicted_us, expected_interval); + predicted_us = min(predicted_us, get_typical_interval(data)); if (tick_nohz_tick_stopped()) { /* |