Lines Matching refs:this_rq
4263 static int newidle_balance(struct rq *this_rq, struct rq_flags *rf);
6566 struct rq *this_rq = this_rq(); in select_idle_cpu() local
6586 if (unlikely(this_rq->wake_stamp < now)) { in select_idle_cpu()
6587 while (this_rq->wake_stamp < now && this_rq->wake_avg_idle) { in select_idle_cpu()
6588 this_rq->wake_stamp++; in select_idle_cpu()
6589 this_rq->wake_avg_idle >>= 1; in select_idle_cpu()
6593 avg_idle = this_rq->wake_avg_idle; in select_idle_cpu()
6641 this_rq->wake_avg_idle -= min(this_rq->wake_avg_idle, time); in select_idle_cpu()
6738 this_rq()->nr_running <= 1 && in select_idle_sibling()
7047 struct root_domain *rd = this_rq()->rd; in find_energy_efficient_cpu()
10260 static int load_balance(int this_cpu, struct rq *this_rq, in load_balance() argument
10273 .dst_rq = this_rq, in load_balance()
10976 SCHED_WARN_ON(rq != this_rq()); in nohz_balance_exit_idle()
11088 static void _nohz_idle_balance(struct rq *this_rq, unsigned int flags) in _nohz_idle_balance() argument
11095 int this_cpu = this_rq->cpu; in _nohz_idle_balance()
11191 static bool nohz_idle_balance(struct rq *this_rq, enum cpu_idle_type idle) in nohz_idle_balance() argument
11193 unsigned int flags = this_rq->nohz_idle_balance; in nohz_idle_balance()
11198 this_rq->nohz_idle_balance = 0; in nohz_idle_balance()
11203 _nohz_idle_balance(this_rq, flags); in nohz_idle_balance()
11226 static void nohz_newidle_balance(struct rq *this_rq) in nohz_newidle_balance() argument
11228 int this_cpu = this_rq->cpu; in nohz_newidle_balance()
11238 if (this_rq->avg_idle < sysctl_sched_migration_cost) in nohz_newidle_balance()
11256 static inline bool nohz_idle_balance(struct rq *this_rq, enum cpu_idle_type idle) in nohz_idle_balance() argument
11261 static inline void nohz_newidle_balance(struct rq *this_rq) { } in nohz_newidle_balance() argument
11273 static int newidle_balance(struct rq *this_rq, struct rq_flags *rf) in newidle_balance() argument
11276 int this_cpu = this_rq->cpu; in newidle_balance()
11281 update_misfit_status(NULL, this_rq); in newidle_balance()
11287 if (this_rq->ttwu_pending) in newidle_balance()
11294 this_rq->idle_stamp = rq_clock(this_rq); in newidle_balance()
11308 rq_unpin_lock(this_rq, rf); in newidle_balance()
11311 sd = rcu_dereference_check_sched_domain(this_rq->sd); in newidle_balance()
11313 if (!READ_ONCE(this_rq->rd->overload) || in newidle_balance()
11314 (sd && this_rq->avg_idle < sd->max_newidle_lb_cost)) { in newidle_balance()
11324 raw_spin_rq_unlock(this_rq); in newidle_balance()
11336 if (this_rq->avg_idle < curr_cost + sd->max_newidle_lb_cost) in newidle_balance()
11341 pulled_task = load_balance(this_cpu, this_rq, in newidle_balance()
11357 if (pulled_task || this_rq->nr_running > 0 || in newidle_balance()
11358 this_rq->ttwu_pending) in newidle_balance()
11363 raw_spin_rq_lock(this_rq); in newidle_balance()
11365 if (curr_cost > this_rq->max_idle_balance_cost) in newidle_balance()
11366 this_rq->max_idle_balance_cost = curr_cost; in newidle_balance()
11373 if (this_rq->cfs.h_nr_running && !pulled_task) in newidle_balance()
11377 if (this_rq->nr_running != this_rq->cfs.h_nr_running) in newidle_balance()
11382 if (time_after(this_rq->next_balance, next_balance)) in newidle_balance()
11383 this_rq->next_balance = next_balance; in newidle_balance()
11386 this_rq->idle_stamp = 0; in newidle_balance()
11388 nohz_newidle_balance(this_rq); in newidle_balance()
11390 rq_repin_lock(this_rq, rf); in newidle_balance()
11401 struct rq *this_rq = this_rq(); in run_rebalance_domains() local
11402 enum cpu_idle_type idle = this_rq->idle_balance ? in run_rebalance_domains()
11413 if (nohz_idle_balance(this_rq, idle)) in run_rebalance_domains()
11417 update_blocked_averages(this_rq->cpu); in run_rebalance_domains()
11418 rebalance_domains(this_rq, idle); in run_rebalance_domains()
11605 struct rq *rq = this_rq(); in task_fork_fair()