Lines Matching refs:dl_bw
103 static inline struct dl_bw *dl_bw_of(int i) in dl_bw_of()
107 return &cpu_rq(i)->rd->dl_bw; in dl_bw_of()
169 void __dl_update(struct dl_bw *dl_b, s64 bw) in __dl_update()
171 struct root_domain *rd = container_of(dl_b, struct root_domain, dl_bw); in __dl_update()
183 static inline struct dl_bw *dl_bw_of(int i) in dl_bw_of()
185 return &cpu_rq(i)->dl.dl_bw; in dl_bw_of()
204 void __dl_update(struct dl_bw *dl_b, s64 bw) in __dl_update()
206 struct dl_rq *dl = container_of(dl_b, struct dl_rq, dl_bw); in __dl_update()
213 void __dl_sub(struct dl_bw *dl_b, u64 tsk_bw, int cpus) in __dl_sub()
220 void __dl_add(struct dl_bw *dl_b, u64 tsk_bw, int cpus) in __dl_add()
227 __dl_overflow(struct dl_bw *dl_b, unsigned long cap, u64 old_bw, u64 new_bw) in __dl_overflow()
234 void __add_running_bw(u64 dl_bw, struct dl_rq *dl_rq) in __add_running_bw() argument
239 dl_rq->running_bw += dl_bw; in __add_running_bw()
247 void __sub_running_bw(u64 dl_bw, struct dl_rq *dl_rq) in __sub_running_bw() argument
252 dl_rq->running_bw -= dl_bw; in __sub_running_bw()
261 void __add_rq_bw(u64 dl_bw, struct dl_rq *dl_rq) in __add_rq_bw() argument
266 dl_rq->this_bw += dl_bw; in __add_rq_bw()
271 void __sub_rq_bw(u64 dl_bw, struct dl_rq *dl_rq) in __sub_rq_bw() argument
276 dl_rq->this_bw -= dl_bw; in __sub_rq_bw()
287 __add_rq_bw(dl_se->dl_bw, dl_rq); in add_rq_bw()
294 __sub_rq_bw(dl_se->dl_bw, dl_rq); in sub_rq_bw()
301 __add_running_bw(dl_se->dl_bw, dl_rq); in add_running_bw()
308 __sub_running_bw(dl_se->dl_bw, dl_rq); in sub_running_bw()
334 __sub_rq_bw(p->dl.dl_bw, &rq->dl); in dl_change_utilization()
430 struct dl_bw *dl_b = dl_bw_of(task_cpu(p)); in task_non_contending()
435 __dl_sub(dl_b, p->dl.dl_bw, dl_bw_cpus(task_cpu(p))); in task_non_contending()
494 void init_dl_bw(struct dl_bw *dl_b) in init_dl_bw()
516 init_dl_bw(&dl_rq->dl_bw); in init_dl_rq()
666 struct dl_bw *dl_b; in dl_task_offline_migration()
717 dl_b = &rq->rd->dl_bw; in dl_task_offline_migration()
719 __dl_sub(dl_b, p->dl.dl_bw, cpumask_weight(rq->rd->span)); in dl_task_offline_migration()
722 dl_b = &later_rq->rd->dl_bw; in dl_task_offline_migration()
724 __dl_add(dl_b, p->dl.dl_bw, cpumask_weight(later_rq->rd->span)); in dl_task_offline_migration()
1285 if (u_inact + rq->dl.extra_bw > rq->dl.max_bw - dl_se->dl_bw) in grub_reclaim()
1286 u_act = dl_se->dl_bw; in grub_reclaim()
1414 struct dl_bw *dl_b = dl_bw_of(task_cpu(p)); in inactive_task_timer()
1423 __dl_sub(dl_b, p->dl.dl_bw, dl_bw_cpus(task_cpu(p))); in inactive_task_timer()
2498 struct dl_bw *src_dl_b; in set_cpus_allowed_dl()
2507 __dl_sub(src_dl_b, p->dl.dl_bw, dl_bw_cpus(task_cpu(p))); in set_cpus_allowed_dl()
2548 struct dl_bw *dl_b; in dl_add_task_root_domain()
2558 dl_b = &rq->rd->dl_bw; in dl_add_task_root_domain()
2561 __dl_add(dl_b, p->dl.dl_bw, cpumask_weight(rq->rd->span)); in dl_add_task_root_domain()
2572 raw_spin_lock_irqsave(&rd->dl_bw.lock, flags); in dl_clear_root_domain()
2573 rd->dl_bw.total_bw = 0; in dl_clear_root_domain()
2574 raw_spin_unlock_irqrestore(&rd->dl_bw.lock, flags); in dl_clear_root_domain()
2766 struct dl_bw *dl_b; in sched_dl_global_validate()
2816 struct dl_bw *dl_b; in sched_dl_do_global()
2857 struct dl_bw *dl_b = dl_bw_of(cpu); in sched_dl_overflow()
2864 if (new_bw == p->dl.dl_bw && task_has_dl_policy(p)) in sched_dl_overflow()
2879 __dl_sub(dl_b, p->dl.dl_bw, cpus); in sched_dl_overflow()
2883 !__dl_overflow(dl_b, cap, p->dl.dl_bw, new_bw)) { in sched_dl_overflow()
2891 __dl_sub(dl_b, p->dl.dl_bw, cpus); in sched_dl_overflow()
2924 dl_se->dl_bw = to_ratio(dl_se->dl_period, dl_se->dl_runtime); in __setparam_dl()
3006 dl_se->dl_bw = 0; in __dl_clear_params()
3037 struct dl_bw *cur_dl_b; in dl_cpuset_cpumask_can_shrink()
3058 static int dl_bw_manage(enum dl_bw_request req, int cpu, u64 dl_bw) in dl_bw_manage() argument
3061 struct dl_bw *dl_b; in dl_bw_manage()
3069 __dl_sub(dl_b, dl_bw, dl_bw_cpus(cpu)); in dl_bw_manage()
3073 overflow = __dl_overflow(dl_b, cap, 0, dl_bw); in dl_bw_manage()
3082 __dl_add(dl_b, dl_bw, dl_bw_cpus(cpu)); in dl_bw_manage()
3097 int dl_bw_alloc(int cpu, u64 dl_bw) in dl_bw_alloc() argument
3099 return dl_bw_manage(dl_bw_req_alloc, cpu, dl_bw); in dl_bw_alloc()
3102 void dl_bw_free(int cpu, u64 dl_bw) in dl_bw_free() argument
3104 dl_bw_manage(dl_bw_req_free, cpu, dl_bw); in dl_bw_free()