cpuidle: Rearrange code and comments in get_typical_interval()
authorTuukka Tikkanen <tuukka.tikkanen@linaro.org>
Wed, 14 Aug 2013 16:02:35 +0000 (19:02 +0300)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 22 Aug 2013 22:24:15 +0000 (00:24 +0200)
This patch rearranges a if-return-elsif-goto-fi-return sequence into
if-return-fi-if-return-fi-goto sequence. The functionality remains the
same. Also, a lengthy comment that did not describe the functionality
in the order it occurs is split into half and top half is moved closer
to actual implementation it describes.

Signed-off-by: Tuukka Tikkanen <tuukka.tikkanen@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpuidle/governors/menu.c

index 351697305fe7a25d895bc31d68a68a1232679ad5..f1fadbecfa1bd9fcc433bf26b666bca2519be351 100644 (file)
@@ -228,14 +228,6 @@ again:
        do_div(stddev, divisor);
        stddev = int_sqrt(stddev);
        /*
-        * If we have outliers to the upside in our distribution, discard
-        * those by setting the threshold to exclude these outliers, then
-        * calculate the average and standard deviation again. Once we get
-        * down to the bottom 3/4 of our samples, stop excluding samples.
-        *
-        * This can deal with workloads that have long pauses interspersed
-        * with sporadic activity with a bunch of short pauses.
-        *
         * The typical interval is obtained when standard deviation is small
         * or standard deviation is small compared to the average interval.
         *
@@ -246,12 +238,22 @@ again:
                if (data->expected_us > avg)
                        data->predicted_us = avg;
                return;
-
-       } else if ((divisor * 4) > INTERVALS * 3) {
-               /* Exclude the max interval */
-               thresh = max - 1;
-               goto again;
        }
+
+       /*
+        * If we have outliers to the upside in our distribution, discard
+        * those by setting the threshold to exclude these outliers, then
+        * calculate the average and standard deviation again. Once we get
+        * down to the bottom 3/4 of our samples, stop excluding samples.
+        *
+        * This can deal with workloads that have long pauses interspersed
+        * with sporadic activity with a bunch of short pauses.
+        */
+       if ((divisor * 4) <= INTERVALS * 3)
+               return;
+
+       thresh = max - 1;
+       goto again;
 }
 
 /**