cpuquiet: Support X cpus for runnables governor
authorSai Gurrappadi <sgurrappadi@nvidia.com>
Fri, 20 Dec 2013 00:30:02 +0000 (16:30 -0800)
committerHuang, Tao <huangtao@rock-chips.com>
Mon, 18 May 2015 08:07:12 +0000 (16:07 +0800)
Runnables govenror will now work properly for any number of cpus as
defined by NR_CPUS. Switched the ordering of nr_run_threshold init to
ensure that array is initialized correctly to UINT_MAX for NR_CPUS-1 cpu.

Bug 1427140

Change-Id: Ic612406ceaf80dd7e0b6693906df339f8b6512aa
Signed-off-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/369016
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
drivers/cpuquiet/governors/runnable_threads.c

index f20b8c71e3842d6100feb185d0f259ae9fb29b77..77ce4b88566b4191c4ab46d6f729012fb155a069 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2013 NVIDIA CORPORATION.  All rights reserved.
+ * Copyright (c) 2012-2014 NVIDIA CORPORATION.  All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -284,10 +284,10 @@ static int runnables_start(void)
        runnables_timer.function = runnables_avg_sampler;
 
        for(i = 0; i < ARRAY_SIZE(nr_run_thresholds); ++i) {
-               if (i < ARRAY_SIZE(default_thresholds))
-                       nr_run_thresholds[i] = default_thresholds[i];
-               else if (i == (ARRAY_SIZE(nr_run_thresholds) - 1))
+               if (i == (ARRAY_SIZE(nr_run_thresholds) - 1))
                        nr_run_thresholds[i] = UINT_MAX;
+               else if (i < ARRAY_SIZE(default_thresholds))
+                       nr_run_thresholds[i] = default_thresholds[i];
                else
                        nr_run_thresholds[i] = i + 1 +
                                NR_FSHIFT / default_threshold_level;