Pull forward Andy's share initialization fix [PL #4227].
[linux-2.6.git] / kernel / ckrm / ckrm_cpu_monitor.c
index 3e18c97..5f59b37 100644 (file)
@@ -841,8 +841,9 @@ static void adjust_lrq_weight(struct ckrm_cpu_class *clsptr, int cpu_online)
                total_pressure += lrq->lrq_load;
        }
 
-#if 1
-#warning "ACB taking out suspicious early return"
+#define FIX_SHARES 
+#ifdef FIX_SHARES
+#warning "ACB: fix share initialization problem [PL #4227]"
 #else
        if (! total_pressure)
                return;
@@ -859,6 +860,10 @@ static void adjust_lrq_weight(struct ckrm_cpu_class *clsptr, int cpu_online)
                        /*give idle class a high share to boost interactiveness */
                        lw = cpu_class_weight(clsptr); 
                else {
+#ifdef FIX_SHARES
+                       if (! total_pressure)
+                               return;
+#endif                 
                        lw = lrq->lrq_load * class_weight;
                        do_div(lw,total_pressure);
                        if (!lw)