Lines Matching refs:dst_rq
2431 struct rq *dst_rq) in move_local_task_to_local_dsq() argument
2433 struct scx_dispatch_q *dst_dsq = &dst_rq->scx.local_dsq; in move_local_task_to_local_dsq()
2437 lockdep_assert_rq_held(dst_rq); in move_local_task_to_local_dsq()
2461 struct rq *src_rq, struct rq *dst_rq) in move_remote_task_to_local_dsq() argument
2467 set_task_cpu(p, cpu_of(dst_rq)); in move_remote_task_to_local_dsq()
2468 p->scx.sticky_cpu = cpu_of(dst_rq); in move_remote_task_to_local_dsq()
2471 raw_spin_rq_lock(dst_rq); in move_remote_task_to_local_dsq()
2478 WARN_ON_ONCE(!cpumask_test_cpu(cpu_of(dst_rq), p->cpus_ptr)); in move_remote_task_to_local_dsq()
2479 WARN_ON_ONCE(dst_rq->scx.extra_enq_flags); in move_remote_task_to_local_dsq()
2480 dst_rq->scx.extra_enq_flags = enq_flags; in move_remote_task_to_local_dsq()
2481 activate_task(dst_rq, p, 0); in move_remote_task_to_local_dsq()
2482 dst_rq->scx.extra_enq_flags = 0; in move_remote_task_to_local_dsq()
2616 …_dsq(struct task_struct *p, u64 enq_flags, struct rq *src_rq, struct rq *dst_rq) { WARN_ON_ONCE(1)… in move_remote_task_to_local_dsq() argument
2640 struct rq *src_rq = task_rq(p), *dst_rq; in move_task_between_dsqs() local
2647 dst_rq = container_of(dst_dsq, struct rq, scx.local_dsq); in move_task_between_dsqs()
2648 if (src_rq != dst_rq && in move_task_between_dsqs()
2649 unlikely(!task_can_run_on_remote_rq(p, dst_rq, true))) { in move_task_between_dsqs()
2651 dst_rq = src_rq; in move_task_between_dsqs()
2655 dst_rq = src_rq; in move_task_between_dsqs()
2664 if (src_rq == dst_rq) { in move_task_between_dsqs()
2667 src_dsq, dst_rq); in move_task_between_dsqs()
2672 src_rq, dst_rq); in move_task_between_dsqs()
2686 return dst_rq; in move_task_between_dsqs()
2786 struct rq *dst_rq = container_of(dst_dsq, struct rq, scx.local_dsq); in dispatch_to_local_dsq() local
2797 if (rq == src_rq && rq == dst_rq) { in dispatch_to_local_dsq()
2803 if (src_rq != dst_rq && in dispatch_to_local_dsq()
2804 unlikely(!task_can_run_on_remote_rq(p, dst_rq, true))) { in dispatch_to_local_dsq()
2841 if (src_rq == dst_rq) { in dispatch_to_local_dsq()
2843 dispatch_enqueue(&dst_rq->scx.local_dsq, p, enq_flags); in dispatch_to_local_dsq()
2846 src_rq, dst_rq); in dispatch_to_local_dsq()
2848 locked_rq = dst_rq; in dispatch_to_local_dsq()
2852 if (sched_class_above(p->sched_class, dst_rq->curr->sched_class)) in dispatch_to_local_dsq()
2853 resched_curr(dst_rq); in dispatch_to_local_dsq()