···58495849 /* At this point se is NULL and we are at root level*/58505850 sub_nr_running(rq, task_delta);5851585158525852-done:58535852 /* Stop the fair server if throttling resulted in no runnable tasks */58545853 if (rq_h_nr_running && !rq->cfs.h_nr_running)58555854 dl_server_stop(&rq->fair_server);58555855+done:58565856 /*58575857 * Note: distribution will already see us throttled via the58585858 * throttled-list. rq->lock protects completion.···59405940 goto unthrottle_throttle;59415941 }5942594259435943+ /* Start the fair server if un-throttling resulted in new runnable tasks */59445944+ if (!rq_h_nr_running && rq->cfs.h_nr_running)59455945+ dl_server_start(&rq->fair_server);59465946+59435947 /* At this point se is NULL and we are at root level*/59445948 add_nr_running(rq, task_delta);5945594959465950unthrottle_throttle:59475951 assert_list_leaf_cfs_rq(rq);59485948-59495949- /* Start the fair server if un-throttling resulted in new runnable tasks */59505950- if (!rq_h_nr_running && rq->cfs.h_nr_running)59515951- dl_server_start(&rq->fair_server);5952595259535953 /* Determine whether we need to wake up potentially idle CPU: */59545954 if (rq->curr == rq->idle && rq->cfs.nr_running)···67716771 struct sched_entity *se = &p->se;67726772 int idle_h_nr_running = task_has_idle_policy(p);67736773 int task_new = !(flags & ENQUEUE_WAKEUP);67746774+ int rq_h_nr_running = rq->cfs.h_nr_running;6774677567756776 /*67766777 * The code below (indirectly) updates schedutil which looks at···67806779 * estimated utilization, before we update schedutil.67816780 */67826781 util_est_enqueue(&rq->cfs, p);67836783-67846784- if (!throttled_hierarchy(task_cfs_rq(p)) && !rq->cfs.h_nr_running) {67856785- /* Account for idle runtime */67866786- if (!rq->nr_running)67876787- dl_server_update_idle_time(rq, rq->curr);67886788- dl_server_start(&rq->fair_server);67896789- }6790678267916783 /*67926784 * If in_iowait is set, the code below may not trigger any cpufreq···68266832 goto enqueue_throttle;68276833 }6828683468356835+ if (!rq_h_nr_running && rq->cfs.h_nr_running) {68366836+ /* Account for idle runtime */68376837+ if (!rq->nr_running)68386838+ dl_server_update_idle_time(rq, rq->curr);68396839+ dl_server_start(&rq->fair_server);68406840+ }68416841+68296842 /* At this point se is NULL and we are at root level*/68306843 add_nr_running(rq, 1);68316844···68736872 int task_sleep = flags & DEQUEUE_SLEEP;68746873 int idle_h_nr_running = task_has_idle_policy(p);68756874 bool was_sched_idle = sched_idle_rq(rq);68756875+ int rq_h_nr_running = rq->cfs.h_nr_running;6876687668776877 util_est_dequeue(&rq->cfs, p);68786878···69286926 /* At this point se is NULL and we are at root level*/69296927 sub_nr_running(rq, 1);6930692869296929+ if (rq_h_nr_running && !rq->cfs.h_nr_running)69306930+ dl_server_stop(&rq->fair_server);69316931+69316932 /* balance early to pull high priority tasks */69326933 if (unlikely(!was_sched_idle && sched_idle_rq(rq)))69336934 rq->next_balance = jiffies;6934693569356936dequeue_throttle:69366936- if (!throttled_hierarchy(task_cfs_rq(p)) && !rq->cfs.h_nr_running)69376937- dl_server_stop(&rq->fair_server);69386938-69396937 util_est_update(&rq->cfs, p, task_sleep);69406938 hrtick_update(rq);69416939}