Lines Matching refs:rt_rq
71 void init_rt_rq(struct rt_rq *rt_rq) in init_rt_rq() argument
76 array = &rt_rq->active; in init_rt_rq()
85 rt_rq->highest_prio.curr = MAX_RT_PRIO; in init_rt_rq()
86 rt_rq->highest_prio.next = MAX_RT_PRIO; in init_rt_rq()
87 rt_rq->rt_nr_migratory = 0; in init_rt_rq()
88 rt_rq->overloaded = 0; in init_rt_rq()
89 plist_head_init(&rt_rq->pushable_tasks); in init_rt_rq()
92 rt_rq->push_flags = 0; in init_rt_rq()
93 rt_rq->push_cpu = nr_cpu_ids; in init_rt_rq()
94 raw_spin_lock_init(&rt_rq->push_lock); in init_rt_rq()
95 init_irq_work(&rt_rq->push_work, push_irq_work_func); in init_rt_rq()
99 rt_rq->rt_queued = 0; in init_rt_rq()
101 rt_rq->rt_time = 0; in init_rt_rq()
102 rt_rq->rt_throttled = 0; in init_rt_rq()
103 rt_rq->rt_runtime = 0; in init_rt_rq()
104 raw_spin_lock_init(&rt_rq->rt_runtime_lock); in init_rt_rq()
123 static inline struct rq *rq_of_rt_rq(struct rt_rq *rt_rq) in rq_of_rt_rq() argument
125 return rt_rq->rq; in rq_of_rt_rq()
128 static inline struct rt_rq *rt_rq_of_se(struct sched_rt_entity *rt_se) in rt_rq_of_se()
130 return rt_se->rt_rq; in rt_rq_of_se()
135 struct rt_rq *rt_rq = rt_se->rt_rq; in rq_of_rt_se() local
137 return rt_rq->rq; in rq_of_rt_se()
148 if (tg->rt_rq) in free_rt_sched_group()
149 kfree(tg->rt_rq[i]); in free_rt_sched_group()
154 kfree(tg->rt_rq); in free_rt_sched_group()
158 void init_tg_rt_entry(struct task_group *tg, struct rt_rq *rt_rq, in init_tg_rt_entry() argument
164 rt_rq->highest_prio.curr = MAX_RT_PRIO; in init_tg_rt_entry()
165 rt_rq->rt_nr_boosted = 0; in init_tg_rt_entry()
166 rt_rq->rq = rq; in init_tg_rt_entry()
167 rt_rq->tg = tg; in init_tg_rt_entry()
169 tg->rt_rq[cpu] = rt_rq; in init_tg_rt_entry()
176 rt_se->rt_rq = &rq->rt; in init_tg_rt_entry()
178 rt_se->rt_rq = parent->my_q; in init_tg_rt_entry()
180 rt_se->my_q = rt_rq; in init_tg_rt_entry()
187 struct rt_rq *rt_rq; in alloc_rt_sched_group() local
191 tg->rt_rq = kzalloc(sizeof(rt_rq) * nr_cpu_ids, GFP_KERNEL); in alloc_rt_sched_group()
192 if (!tg->rt_rq) in alloc_rt_sched_group()
202 rt_rq = kzalloc_node(sizeof(struct rt_rq), in alloc_rt_sched_group()
204 if (!rt_rq) in alloc_rt_sched_group()
212 init_rt_rq(rt_rq); in alloc_rt_sched_group()
213 rt_rq->rt_runtime = tg->rt_bandwidth.rt_runtime; in alloc_rt_sched_group()
214 init_tg_rt_entry(tg, rt_rq, rt_se, i, parent->rt_se[i]); in alloc_rt_sched_group()
220 kfree(rt_rq); in alloc_rt_sched_group()
234 static inline struct rq *rq_of_rt_rq(struct rt_rq *rt_rq) in rq_of_rt_rq() argument
236 return container_of(rt_rq, struct rq, rt); in rq_of_rt_rq()
246 static inline struct rt_rq *rt_rq_of_se(struct sched_rt_entity *rt_se) in rt_rq_of_se()
305 static void update_rt_migration(struct rt_rq *rt_rq) in update_rt_migration() argument
307 if (rt_rq->rt_nr_migratory && rt_rq->rt_nr_total > 1) { in update_rt_migration()
308 if (!rt_rq->overloaded) { in update_rt_migration()
309 rt_set_overload(rq_of_rt_rq(rt_rq)); in update_rt_migration()
310 rt_rq->overloaded = 1; in update_rt_migration()
312 } else if (rt_rq->overloaded) { in update_rt_migration()
313 rt_clear_overload(rq_of_rt_rq(rt_rq)); in update_rt_migration()
314 rt_rq->overloaded = 0; in update_rt_migration()
318 static void inc_rt_migration(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) in inc_rt_migration() argument
326 rt_rq = &rq_of_rt_rq(rt_rq)->rt; in inc_rt_migration()
328 rt_rq->rt_nr_total++; in inc_rt_migration()
330 rt_rq->rt_nr_migratory++; in inc_rt_migration()
332 update_rt_migration(rt_rq); in inc_rt_migration()
335 static void dec_rt_migration(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) in dec_rt_migration() argument
343 rt_rq = &rq_of_rt_rq(rt_rq)->rt; in dec_rt_migration()
345 rt_rq->rt_nr_total--; in dec_rt_migration()
347 rt_rq->rt_nr_migratory--; in dec_rt_migration()
349 update_rt_migration(rt_rq); in dec_rt_migration()
411 void inc_rt_migration(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) in inc_rt_migration() argument
416 void dec_rt_migration(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) in dec_rt_migration() argument
434 static void enqueue_top_rt_rq(struct rt_rq *rt_rq);
435 static void dequeue_top_rt_rq(struct rt_rq *rt_rq);
444 static inline u64 sched_rt_runtime(struct rt_rq *rt_rq) in sched_rt_runtime() argument
446 if (!rt_rq->tg) in sched_rt_runtime()
449 return rt_rq->rt_runtime; in sched_rt_runtime()
452 static inline u64 sched_rt_period(struct rt_rq *rt_rq) in sched_rt_period() argument
454 return ktime_to_ns(rt_rq->tg->rt_bandwidth.rt_period); in sched_rt_period()
472 #define for_each_rt_rq(rt_rq, iter, rq) \ argument
475 (rt_rq = iter->rt_rq[cpu_of(rq)]);)
480 static inline struct rt_rq *group_rt_rq(struct sched_rt_entity *rt_se) in group_rt_rq()
488 static void sched_rt_rq_enqueue(struct rt_rq *rt_rq) in sched_rt_rq_enqueue() argument
490 struct task_struct *curr = rq_of_rt_rq(rt_rq)->curr; in sched_rt_rq_enqueue()
491 struct rq *rq = rq_of_rt_rq(rt_rq); in sched_rt_rq_enqueue()
496 rt_se = rt_rq->tg->rt_se[cpu]; in sched_rt_rq_enqueue()
498 if (rt_rq->rt_nr_running) { in sched_rt_rq_enqueue()
500 enqueue_top_rt_rq(rt_rq); in sched_rt_rq_enqueue()
504 if (rt_rq->highest_prio.curr < curr->prio) in sched_rt_rq_enqueue()
509 static void sched_rt_rq_dequeue(struct rt_rq *rt_rq) in sched_rt_rq_dequeue() argument
512 int cpu = cpu_of(rq_of_rt_rq(rt_rq)); in sched_rt_rq_dequeue()
514 rt_se = rt_rq->tg->rt_se[cpu]; in sched_rt_rq_dequeue()
517 dequeue_top_rt_rq(rt_rq); in sched_rt_rq_dequeue()
522 static inline int rt_rq_throttled(struct rt_rq *rt_rq) in rt_rq_throttled() argument
524 return rt_rq->rt_throttled && !rt_rq->rt_nr_boosted; in rt_rq_throttled()
529 struct rt_rq *rt_rq = group_rt_rq(rt_se); in rt_se_boosted() local
532 if (rt_rq) in rt_se_boosted()
533 return !!rt_rq->rt_nr_boosted; in rt_se_boosted()
552 struct rt_rq *sched_rt_period_rt_rq(struct rt_bandwidth *rt_b, int cpu) in sched_rt_period_rt_rq()
554 return container_of(rt_b, struct task_group, rt_bandwidth)->rt_rq[cpu]; in sched_rt_period_rt_rq()
557 static inline struct rt_bandwidth *sched_rt_bandwidth(struct rt_rq *rt_rq) in sched_rt_bandwidth() argument
559 return &rt_rq->tg->rt_bandwidth; in sched_rt_bandwidth()
564 static inline u64 sched_rt_runtime(struct rt_rq *rt_rq) in sched_rt_runtime() argument
566 return rt_rq->rt_runtime; in sched_rt_runtime()
569 static inline u64 sched_rt_period(struct rt_rq *rt_rq) in sched_rt_period() argument
574 typedef struct rt_rq *rt_rq_iter_t;
576 #define for_each_rt_rq(rt_rq, iter, rq) \ argument
577 for ((void) iter, rt_rq = &rq->rt; rt_rq; rt_rq = NULL)
582 static inline struct rt_rq *group_rt_rq(struct sched_rt_entity *rt_se) in group_rt_rq()
587 static inline void sched_rt_rq_enqueue(struct rt_rq *rt_rq) in sched_rt_rq_enqueue() argument
589 struct rq *rq = rq_of_rt_rq(rt_rq); in sched_rt_rq_enqueue()
591 if (!rt_rq->rt_nr_running) in sched_rt_rq_enqueue()
594 enqueue_top_rt_rq(rt_rq); in sched_rt_rq_enqueue()
598 static inline void sched_rt_rq_dequeue(struct rt_rq *rt_rq) in sched_rt_rq_dequeue() argument
600 dequeue_top_rt_rq(rt_rq); in sched_rt_rq_dequeue()
603 static inline int rt_rq_throttled(struct rt_rq *rt_rq) in rt_rq_throttled() argument
605 return rt_rq->rt_throttled; in rt_rq_throttled()
614 struct rt_rq *sched_rt_period_rt_rq(struct rt_bandwidth *rt_b, int cpu) in sched_rt_period_rt_rq()
619 static inline struct rt_bandwidth *sched_rt_bandwidth(struct rt_rq *rt_rq) in sched_rt_bandwidth() argument
626 bool sched_rt_bandwidth_account(struct rt_rq *rt_rq) in sched_rt_bandwidth_account() argument
628 struct rt_bandwidth *rt_b = sched_rt_bandwidth(rt_rq); in sched_rt_bandwidth_account()
631 rt_rq->rt_time < rt_b->rt_runtime); in sched_rt_bandwidth_account()
638 static void do_balance_runtime(struct rt_rq *rt_rq) in do_balance_runtime() argument
640 struct rt_bandwidth *rt_b = sched_rt_bandwidth(rt_rq); in do_balance_runtime()
641 struct root_domain *rd = rq_of_rt_rq(rt_rq)->rd; in do_balance_runtime()
650 struct rt_rq *iter = sched_rt_period_rt_rq(rt_b, i); in do_balance_runtime()
653 if (iter == rt_rq) in do_balance_runtime()
672 if (rt_rq->rt_runtime + diff > rt_period) in do_balance_runtime()
673 diff = rt_period - rt_rq->rt_runtime; in do_balance_runtime()
675 rt_rq->rt_runtime += diff; in do_balance_runtime()
676 if (rt_rq->rt_runtime == rt_period) { in do_balance_runtime()
694 struct rt_rq *rt_rq; in __disable_runtime() local
699 for_each_rt_rq(rt_rq, iter, rq) { in __disable_runtime()
700 struct rt_bandwidth *rt_b = sched_rt_bandwidth(rt_rq); in __disable_runtime()
705 raw_spin_lock(&rt_rq->rt_runtime_lock); in __disable_runtime()
711 if (rt_rq->rt_runtime == RUNTIME_INF || in __disable_runtime()
712 rt_rq->rt_runtime == rt_b->rt_runtime) in __disable_runtime()
714 raw_spin_unlock(&rt_rq->rt_runtime_lock); in __disable_runtime()
721 want = rt_b->rt_runtime - rt_rq->rt_runtime; in __disable_runtime()
727 struct rt_rq *iter = sched_rt_period_rt_rq(rt_b, i); in __disable_runtime()
733 if (iter == rt_rq || iter->rt_runtime == RUNTIME_INF) in __disable_runtime()
751 raw_spin_lock(&rt_rq->rt_runtime_lock); in __disable_runtime()
762 rt_rq->rt_runtime = RUNTIME_INF; in __disable_runtime()
763 rt_rq->rt_throttled = 0; in __disable_runtime()
764 raw_spin_unlock(&rt_rq->rt_runtime_lock); in __disable_runtime()
768 sched_rt_rq_enqueue(rt_rq); in __disable_runtime()
775 struct rt_rq *rt_rq; in __enable_runtime() local
783 for_each_rt_rq(rt_rq, iter, rq) { in __enable_runtime()
784 struct rt_bandwidth *rt_b = sched_rt_bandwidth(rt_rq); in __enable_runtime()
787 raw_spin_lock(&rt_rq->rt_runtime_lock); in __enable_runtime()
788 rt_rq->rt_runtime = rt_b->rt_runtime; in __enable_runtime()
789 rt_rq->rt_time = 0; in __enable_runtime()
790 rt_rq->rt_throttled = 0; in __enable_runtime()
791 raw_spin_unlock(&rt_rq->rt_runtime_lock); in __enable_runtime()
796 static void balance_runtime(struct rt_rq *rt_rq) in balance_runtime() argument
801 if (rt_rq->rt_time > rt_rq->rt_runtime) { in balance_runtime()
802 raw_spin_unlock(&rt_rq->rt_runtime_lock); in balance_runtime()
803 do_balance_runtime(rt_rq); in balance_runtime()
804 raw_spin_lock(&rt_rq->rt_runtime_lock); in balance_runtime()
808 static inline void balance_runtime(struct rt_rq *rt_rq) {} in balance_runtime() argument
832 struct rt_rq *rt_rq = sched_rt_period_rt_rq(rt_b, i); in do_sched_rt_period_timer() local
833 struct rq *rq = rq_of_rt_rq(rt_rq); in do_sched_rt_period_timer()
836 if (rt_rq->rt_time) { in do_sched_rt_period_timer()
839 raw_spin_lock(&rt_rq->rt_runtime_lock); in do_sched_rt_period_timer()
840 if (rt_rq->rt_throttled) in do_sched_rt_period_timer()
841 balance_runtime(rt_rq); in do_sched_rt_period_timer()
842 runtime = rt_rq->rt_runtime; in do_sched_rt_period_timer()
843 rt_rq->rt_time -= min(rt_rq->rt_time, overrun*runtime); in do_sched_rt_period_timer()
844 if (rt_rq->rt_throttled && rt_rq->rt_time < runtime) { in do_sched_rt_period_timer()
845 rt_rq->rt_throttled = 0; in do_sched_rt_period_timer()
855 if (rt_rq->rt_nr_running && rq->curr == rq->idle) in do_sched_rt_period_timer()
858 if (rt_rq->rt_time || rt_rq->rt_nr_running) in do_sched_rt_period_timer()
860 raw_spin_unlock(&rt_rq->rt_runtime_lock); in do_sched_rt_period_timer()
861 } else if (rt_rq->rt_nr_running) { in do_sched_rt_period_timer()
863 if (!rt_rq_throttled(rt_rq)) in do_sched_rt_period_timer()
866 if (rt_rq->rt_throttled) in do_sched_rt_period_timer()
870 sched_rt_rq_enqueue(rt_rq); in do_sched_rt_period_timer()
883 struct rt_rq *rt_rq = group_rt_rq(rt_se); in rt_se_prio() local
885 if (rt_rq) in rt_se_prio()
886 return rt_rq->highest_prio.curr; in rt_se_prio()
892 static int sched_rt_runtime_exceeded(struct rt_rq *rt_rq) in sched_rt_runtime_exceeded() argument
894 u64 runtime = sched_rt_runtime(rt_rq); in sched_rt_runtime_exceeded()
896 if (rt_rq->rt_throttled) in sched_rt_runtime_exceeded()
897 return rt_rq_throttled(rt_rq); in sched_rt_runtime_exceeded()
899 if (runtime >= sched_rt_period(rt_rq)) in sched_rt_runtime_exceeded()
902 balance_runtime(rt_rq); in sched_rt_runtime_exceeded()
903 runtime = sched_rt_runtime(rt_rq); in sched_rt_runtime_exceeded()
907 if (rt_rq->rt_time > runtime) { in sched_rt_runtime_exceeded()
908 struct rt_bandwidth *rt_b = sched_rt_bandwidth(rt_rq); in sched_rt_runtime_exceeded()
915 rt_rq->rt_throttled = 1; in sched_rt_runtime_exceeded()
923 rt_rq->rt_time = 0; in sched_rt_runtime_exceeded()
926 if (rt_rq_throttled(rt_rq)) { in sched_rt_runtime_exceeded()
927 sched_rt_rq_dequeue(rt_rq); in sched_rt_runtime_exceeded()
967 struct rt_rq *rt_rq = rt_rq_of_se(rt_se); in update_curr_rt() local
969 if (sched_rt_runtime(rt_rq) != RUNTIME_INF) { in update_curr_rt()
970 raw_spin_lock(&rt_rq->rt_runtime_lock); in update_curr_rt()
971 rt_rq->rt_time += delta_exec; in update_curr_rt()
972 if (sched_rt_runtime_exceeded(rt_rq)) in update_curr_rt()
974 raw_spin_unlock(&rt_rq->rt_runtime_lock); in update_curr_rt()
980 dequeue_top_rt_rq(struct rt_rq *rt_rq) in dequeue_top_rt_rq() argument
982 struct rq *rq = rq_of_rt_rq(rt_rq); in dequeue_top_rt_rq()
984 BUG_ON(&rq->rt != rt_rq); in dequeue_top_rt_rq()
986 if (!rt_rq->rt_queued) in dequeue_top_rt_rq()
991 sub_nr_running(rq, rt_rq->rt_nr_running); in dequeue_top_rt_rq()
992 rt_rq->rt_queued = 0; in dequeue_top_rt_rq()
996 enqueue_top_rt_rq(struct rt_rq *rt_rq) in enqueue_top_rt_rq() argument
998 struct rq *rq = rq_of_rt_rq(rt_rq); in enqueue_top_rt_rq()
1000 BUG_ON(&rq->rt != rt_rq); in enqueue_top_rt_rq()
1002 if (rt_rq->rt_queued) in enqueue_top_rt_rq()
1004 if (rt_rq_throttled(rt_rq) || !rt_rq->rt_nr_running) in enqueue_top_rt_rq()
1007 add_nr_running(rq, rt_rq->rt_nr_running); in enqueue_top_rt_rq()
1008 rt_rq->rt_queued = 1; in enqueue_top_rt_rq()
1014 inc_rt_prio_smp(struct rt_rq *rt_rq, int prio, int prev_prio) in inc_rt_prio_smp() argument
1016 struct rq *rq = rq_of_rt_rq(rt_rq); in inc_rt_prio_smp()
1022 if (&rq->rt != rt_rq) in inc_rt_prio_smp()
1030 dec_rt_prio_smp(struct rt_rq *rt_rq, int prio, int prev_prio) in dec_rt_prio_smp() argument
1032 struct rq *rq = rq_of_rt_rq(rt_rq); in dec_rt_prio_smp()
1038 if (&rq->rt != rt_rq) in dec_rt_prio_smp()
1041 if (rq->online && rt_rq->highest_prio.curr != prev_prio) in dec_rt_prio_smp()
1042 cpupri_set(&rq->rd->cpupri, rq->cpu, rt_rq->highest_prio.curr); in dec_rt_prio_smp()
1048 void inc_rt_prio_smp(struct rt_rq *rt_rq, int prio, int prev_prio) {} in inc_rt_prio_smp() argument
1050 void dec_rt_prio_smp(struct rt_rq *rt_rq, int prio, int prev_prio) {} in dec_rt_prio_smp() argument
1056 inc_rt_prio(struct rt_rq *rt_rq, int prio) in inc_rt_prio() argument
1058 int prev_prio = rt_rq->highest_prio.curr; in inc_rt_prio()
1061 rt_rq->highest_prio.curr = prio; in inc_rt_prio()
1063 inc_rt_prio_smp(rt_rq, prio, prev_prio); in inc_rt_prio()
1067 dec_rt_prio(struct rt_rq *rt_rq, int prio) in dec_rt_prio() argument
1069 int prev_prio = rt_rq->highest_prio.curr; in dec_rt_prio()
1071 if (rt_rq->rt_nr_running) { in dec_rt_prio()
1080 struct rt_prio_array *array = &rt_rq->active; in dec_rt_prio()
1082 rt_rq->highest_prio.curr = in dec_rt_prio()
1087 rt_rq->highest_prio.curr = MAX_RT_PRIO; in dec_rt_prio()
1089 dec_rt_prio_smp(rt_rq, prio, prev_prio); in dec_rt_prio()
1094 static inline void inc_rt_prio(struct rt_rq *rt_rq, int prio) {} in inc_rt_prio() argument
1095 static inline void dec_rt_prio(struct rt_rq *rt_rq, int prio) {} in dec_rt_prio() argument
1102 inc_rt_group(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) in inc_rt_group() argument
1105 rt_rq->rt_nr_boosted++; in inc_rt_group()
1107 if (rt_rq->tg) in inc_rt_group()
1108 start_rt_bandwidth(&rt_rq->tg->rt_bandwidth); in inc_rt_group()
1112 dec_rt_group(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) in dec_rt_group() argument
1115 rt_rq->rt_nr_boosted--; in dec_rt_group()
1117 WARN_ON(!rt_rq->rt_nr_running && rt_rq->rt_nr_boosted); in dec_rt_group()
1123 inc_rt_group(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) in inc_rt_group() argument
1129 void dec_rt_group(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) {} in dec_rt_group() argument
1136 struct rt_rq *group_rq = group_rt_rq(rt_se); in rt_se_nr_running()
1145 void inc_rt_tasks(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) in inc_rt_tasks() argument
1150 rt_rq->rt_nr_running += rt_se_nr_running(rt_se); in inc_rt_tasks()
1152 inc_rt_prio(rt_rq, prio); in inc_rt_tasks()
1153 inc_rt_migration(rt_se, rt_rq); in inc_rt_tasks()
1154 inc_rt_group(rt_se, rt_rq); in inc_rt_tasks()
1158 void dec_rt_tasks(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) in dec_rt_tasks() argument
1161 WARN_ON(!rt_rq->rt_nr_running); in dec_rt_tasks()
1162 rt_rq->rt_nr_running -= rt_se_nr_running(rt_se); in dec_rt_tasks()
1164 dec_rt_prio(rt_rq, rt_se_prio(rt_se)); in dec_rt_tasks()
1165 dec_rt_migration(rt_se, rt_rq); in dec_rt_tasks()
1166 dec_rt_group(rt_se, rt_rq); in dec_rt_tasks()
1171 struct rt_rq *rt_rq = rt_rq_of_se(rt_se); in __enqueue_rt_entity() local
1172 struct rt_prio_array *array = &rt_rq->active; in __enqueue_rt_entity()
1173 struct rt_rq *group_rq = group_rt_rq(rt_se); in __enqueue_rt_entity()
1191 inc_rt_tasks(rt_se, rt_rq); in __enqueue_rt_entity()
1196 struct rt_rq *rt_rq = rt_rq_of_se(rt_se); in __dequeue_rt_entity() local
1197 struct rt_prio_array *array = &rt_rq->active; in __dequeue_rt_entity()
1203 dec_rt_tasks(rt_se, rt_rq); in __dequeue_rt_entity()
1244 struct rt_rq *rt_rq = group_rt_rq(rt_se); in dequeue_rt_entity() local
1246 if (rt_rq && rt_rq->rt_nr_running) in dequeue_rt_entity()
1284 requeue_rt_entity(struct rt_rq *rt_rq, struct sched_rt_entity *rt_se, int head) in requeue_rt_entity() argument
1287 struct rt_prio_array *array = &rt_rq->active; in requeue_rt_entity()
1300 struct rt_rq *rt_rq; in requeue_task_rt() local
1303 rt_rq = rt_rq_of_se(rt_se); in requeue_task_rt()
1304 requeue_rt_entity(rt_rq, rt_se, head); in requeue_task_rt()
1430 struct rt_rq *rt_rq) in pick_next_rt_entity() argument
1432 struct rt_prio_array *array = &rt_rq->active; in pick_next_rt_entity()
1450 struct rt_rq *rt_rq = &rq->rt; in _pick_next_task_rt() local
1453 rt_se = pick_next_rt_entity(rq, rt_rq); in _pick_next_task_rt()
1455 rt_rq = group_rt_rq(rt_se); in _pick_next_task_rt()
1456 } while (rt_rq); in _pick_next_task_rt()
1468 struct rt_rq *rt_rq = &rq->rt; in pick_next_task_rt() local
1497 if (!rt_rq->rt_queued) in pick_next_task_rt()
1902 struct rt_rq *rt_rq = arg; in try_to_push_tasks() local
1907 this_cpu = rt_rq->push_cpu; in try_to_push_tasks()
1913 src_rq = rq_of_rt_rq(rt_rq); in try_to_push_tasks()
1923 raw_spin_lock(&rt_rq->push_lock); in try_to_push_tasks()
1928 if (rt_rq->push_flags & RT_PUSH_IPI_RESTART) { in try_to_push_tasks()
1929 rt_rq->push_flags &= ~RT_PUSH_IPI_RESTART; in try_to_push_tasks()
1930 rt_rq->push_cpu = src_rq->cpu; in try_to_push_tasks()
1936 rt_rq->push_flags &= ~RT_PUSH_IPI_EXECUTING; in try_to_push_tasks()
1937 raw_spin_unlock(&rt_rq->push_lock); in try_to_push_tasks()
1951 irq_work_queue_on(&rt_rq->push_work, cpu); in try_to_push_tasks()
1956 struct rt_rq *rt_rq = container_of(work, struct rt_rq, push_work); in push_irq_work_func() local
1958 try_to_push_tasks(rt_rq); in push_irq_work_func()
2296 extern void print_rt_rq(struct seq_file *m, int cpu, struct rt_rq *rt_rq);
2301 struct rt_rq *rt_rq; in print_rt_stats() local
2304 for_each_rt_rq(rt_rq, iter, cpu_rq(cpu)) in print_rt_stats()
2305 print_rt_rq(m, cpu, rt_rq); in print_rt_stats()