Lines Matching refs:this_rq

3907 static int newidle_balance(struct rq *this_rq, struct rq_flags *rf);
6242 struct rq *this_rq = this_rq(); in select_idle_cpu() local
6262 if (unlikely(this_rq->wake_stamp < now)) { in select_idle_cpu()
6263 while (this_rq->wake_stamp < now && this_rq->wake_avg_idle) { in select_idle_cpu()
6264 this_rq->wake_stamp++; in select_idle_cpu()
6265 this_rq->wake_avg_idle >>= 1; in select_idle_cpu()
6269 avg_idle = this_rq->wake_avg_idle; in select_idle_cpu()
6306 this_rq->wake_avg_idle -= min(this_rq->wake_avg_idle, time); in select_idle_cpu()
6402 this_rq()->nr_running <= 1) { in select_idle_sibling()
9845 static int load_balance(int this_cpu, struct rq *this_rq, in load_balance() argument
9859 .dst_rq = this_rq, in load_balance()
10560 SCHED_WARN_ON(rq != this_rq()); in nohz_balance_exit_idle()
10672 static void _nohz_idle_balance(struct rq *this_rq, unsigned int flags, in _nohz_idle_balance() argument
10680 int this_cpu = this_rq->cpu; in _nohz_idle_balance()
10776 static bool nohz_idle_balance(struct rq *this_rq, enum cpu_idle_type idle) in nohz_idle_balance() argument
10778 unsigned int flags = this_rq->nohz_idle_balance; in nohz_idle_balance()
10783 this_rq->nohz_idle_balance = 0; in nohz_idle_balance()
10788 _nohz_idle_balance(this_rq, flags, idle); in nohz_idle_balance()
10811 static void nohz_newidle_balance(struct rq *this_rq) in nohz_newidle_balance() argument
10813 int this_cpu = this_rq->cpu; in nohz_newidle_balance()
10823 if (this_rq->avg_idle < sysctl_sched_migration_cost) in nohz_newidle_balance()
10841 static inline bool nohz_idle_balance(struct rq *this_rq, enum cpu_idle_type idle) in nohz_idle_balance() argument
10846 static inline void nohz_newidle_balance(struct rq *this_rq) { } in nohz_newidle_balance() argument
10858 static int newidle_balance(struct rq *this_rq, struct rq_flags *rf) in newidle_balance() argument
10861 int this_cpu = this_rq->cpu; in newidle_balance()
10866 update_misfit_status(NULL, this_rq); in newidle_balance()
10872 if (this_rq->ttwu_pending) in newidle_balance()
10879 this_rq->idle_stamp = rq_clock(this_rq); in newidle_balance()
10893 rq_unpin_lock(this_rq, rf); in newidle_balance()
10896 sd = rcu_dereference_check_sched_domain(this_rq->sd); in newidle_balance()
10898 if (!READ_ONCE(this_rq->rd->overload) || in newidle_balance()
10899 (sd && this_rq->avg_idle < sd->max_newidle_lb_cost)) { in newidle_balance()
10909 raw_spin_rq_unlock(this_rq); in newidle_balance()
10921 if (this_rq->avg_idle < curr_cost + sd->max_newidle_lb_cost) in newidle_balance()
10926 pulled_task = load_balance(this_cpu, this_rq, in newidle_balance()
10942 if (pulled_task || this_rq->nr_running > 0 || in newidle_balance()
10943 this_rq->ttwu_pending) in newidle_balance()
10948 raw_spin_rq_lock(this_rq); in newidle_balance()
10950 if (curr_cost > this_rq->max_idle_balance_cost) in newidle_balance()
10951 this_rq->max_idle_balance_cost = curr_cost; in newidle_balance()
10958 if (this_rq->cfs.h_nr_running && !pulled_task) in newidle_balance()
10962 if (this_rq->nr_running != this_rq->cfs.h_nr_running) in newidle_balance()
10967 if (time_after(this_rq->next_balance, next_balance)) in newidle_balance()
10968 this_rq->next_balance = next_balance; in newidle_balance()
10971 this_rq->idle_stamp = 0; in newidle_balance()
10973 nohz_newidle_balance(this_rq); in newidle_balance()
10975 rq_repin_lock(this_rq, rf); in newidle_balance()
10986 struct rq *this_rq = this_rq(); in run_rebalance_domains() local
10987 enum cpu_idle_type idle = this_rq->idle_balance ? in run_rebalance_domains()
10998 if (nohz_idle_balance(this_rq, idle)) in run_rebalance_domains()
11002 update_blocked_averages(this_rq->cpu); in run_rebalance_domains()
11003 rebalance_domains(this_rq, idle); in run_rebalance_domains()
11190 struct rq *rq = this_rq(); in task_fork_fair()