riscv: dts: fu740: fix cache-controller interrupts
[linux-2.6-microblaze.git] / kernel / sched / fair.c
index 1d75af1..20aa234 100644 (file)
@@ -10878,16 +10878,22 @@ static void propagate_entity_cfs_rq(struct sched_entity *se)
 {
        struct cfs_rq *cfs_rq;
 
+       list_add_leaf_cfs_rq(cfs_rq_of(se));
+
        /* Start to propagate at parent */
        se = se->parent;
 
        for_each_sched_entity(se) {
                cfs_rq = cfs_rq_of(se);
 
-               if (cfs_rq_throttled(cfs_rq))
-                       break;
+               if (!cfs_rq_throttled(cfs_rq)){
+                       update_load_avg(cfs_rq, se, UPDATE_TG);
+                       list_add_leaf_cfs_rq(cfs_rq);
+                       continue;
+               }
 
-               update_load_avg(cfs_rq, se, UPDATE_TG);
+               if (list_add_leaf_cfs_rq(cfs_rq))
+                       break;
        }
 }
 #else