sched: Fix indentations in find_busiest_group() using gotos
authorGautham R Shenoy <ego@in.ibm.com>
Wed, 25 Mar 2009 09:13:40 +0000 (14:43 +0530)
committerIngo Molnar <mingo@elte.hu>
Wed, 25 Mar 2009 09:30:44 +0000 (10:30 +0100)
Impact: cleanup

Some indentations in find_busiest_group() can minimized by using
early exits with the help of gotos. This improves readability in
a couple of cases.

Signed-off-by: Gautham R Shenoy <ego@in.ibm.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: "Balbir Singh" <balbir@in.ibm.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: "Dhaval Giani" <dhaval@linux.vnet.ibm.com>
Cc: Bharata B Rao <bharata@linux.vnet.ibm.com>
Cc: "Vaidyanathan Srinivasan" <svaidy@linux.vnet.ibm.com>
LKML-Reference: <20090325091340.13992.45062.stgit@sofia.in.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched.c

index 6aec1e7a72a30366a9132941637594efe2f3b876..f87adbe999e06f09f8b81d46f8d8ac567adc9bd9 100644 (file)
@@ -3403,14 +3403,14 @@ find_busiest_group(struct sched_domain *sd, int this_cpu,
                 * capacity but still has some space to pick up some load
                 * from other group and save more power
                 */
-               if (sum_nr_running <= group_capacity - 1) {
-                       if (sum_nr_running > leader_nr_running ||
-                           (sum_nr_running == leader_nr_running &&
-                            group_first_cpu(group) <
-                            group_first_cpu(group_leader))) {
-                               group_leader = group;
-                               leader_nr_running = sum_nr_running;
-                       }
+               if (sum_nr_running > group_capacity - 1)
+                       goto group_next;
+
+               if (sum_nr_running > leader_nr_running ||
+                   (sum_nr_running == leader_nr_running &&
+                    group_first_cpu(group) < group_first_cpu(group_leader))) {
+                       group_leader = group;
+                       leader_nr_running = sum_nr_running;
                }
 group_next:
 #endif
@@ -3531,14 +3531,16 @@ out_balanced:
        if (idle == CPU_NOT_IDLE || !(sd->flags & SD_POWERSAVINGS_BALANCE))
                goto ret;
 
-       if (this == group_leader && group_leader != group_min) {
-               *imbalance = min_load_per_task;
-               if (sched_mc_power_savings >= POWERSAVINGS_BALANCE_WAKEUP) {
-                       cpu_rq(this_cpu)->rd->sched_mc_preferred_wakeup_cpu =
-                               group_first_cpu(group_leader);
-               }
-               return group_min;
+       if (this != group_leader || group_leader == group_min)
+               goto ret;
+
+       *imbalance = min_load_per_task;
+       if (sched_mc_power_savings >= POWERSAVINGS_BALANCE_WAKEUP) {
+               cpu_rq(this_cpu)->rd->sched_mc_preferred_wakeup_cpu =
+                       group_first_cpu(group_leader);
        }
+       return group_min;
+
 #endif
 ret:
        *imbalance = 0;