Lines Matching refs:rq
58 struct rq *rq;
60 rq = task_rq_lock(p, &rf);
68 SCHED_WARN_ON((p->core_cookie || cookie) && !sched_core_enabled(rq));
71 sched_core_dequeue(rq, p, DEQUEUE_SAVE);
80 sched_core_enqueue(rq, p);
91 if (task_on_cpu(rq, p))
92 resched_curr(rq);
94 task_rq_unlock(rq, p, &rf);
239 /* REQUIRES: rq->core's clock recently updated. */
240 void __sched_core_account_forceidle(struct rq *rq)
242 const struct cpumask *smt_mask = cpu_smt_mask(cpu_of(rq));
243 u64 delta, now = rq_clock(rq->core);
244 struct rq *rq_i;
248 lockdep_assert_rq_held(rq);
250 WARN_ON_ONCE(!rq->core->core_forceidle_count);
252 if (rq->core->core_forceidle_start == 0)
255 delta = now - rq->core->core_forceidle_start;
259 rq->core->core_forceidle_start = now;
261 if (WARN_ON_ONCE(!rq->core->core_forceidle_occupation)) {
263 } else if (rq->core->core_forceidle_count > 1 ||
264 rq->core->core_forceidle_occupation > 1) {
270 delta *= rq->core->core_forceidle_count;
271 delta = div_u64(delta, rq->core->core_forceidle_occupation);
289 void __sched_core_tick(struct rq *rq)
291 if (!rq->core->core_forceidle_count)
294 if (rq != rq->core)
295 update_rq_clock(rq->core);
297 __sched_core_account_forceidle(rq);