Lines Matching defs:reenq_flags
1091 u64 reenq_flags, struct rq *locked_rq)
1127 (READ_ONCE(drl->flags) & reenq_flags) != reenq_flags) {
1133 WRITE_ONCE(drl->flags, drl->flags | reenq_flags);
1148 (READ_ONCE(dru->flags) & reenq_flags) != reenq_flags) {
1158 WRITE_ONCE(dru->flags, dru->flags | reenq_flags);
4445 * @reenq_flags is mutable and accumulates state across the DSQ walk:
4466 u64 *reenq_flags, u32 *reason)
4470 first = !(*reenq_flags & SCX_REENQ_TSR_NOT_FIRST);
4471 *reenq_flags |= SCX_REENQ_TSR_NOT_FIRST;
4479 (!first || !(*reenq_flags & SCX_REENQ_TSR_RQ_OPEN))) {
4485 if ((*reenq_flags & SCX_REENQ_CAP_REVOKE) &&
4491 return *reenq_flags & SCX_REENQ_ANY;
4506 static u32 reenq_local(struct scx_sched *sch, struct rq *rq, u64 reenq_flags)
4514 if (WARN_ON_ONCE(reenq_flags & __SCX_REENQ_TSR_MASK))
4515 reenq_flags &= ~__SCX_REENQ_TSR_MASK;
4517 reenq_flags |= SCX_REENQ_TSR_RQ_OPEN;
4546 if (!local_task_should_reenq(rq, p, &reenq_flags, &reason))
4575 if ((reenq_flags & SCX_REENQ_CAP_REVOKE) &&
4596 u64 reenq_flags;
4612 reenq_flags = drl->flags;
4620 reenq_local(sch, rq, reenq_flags);
4624 static bool user_task_should_reenq(struct task_struct *p, u64 reenq_flags, u32 *reason)
4627 return reenq_flags & SCX_REENQ_ANY;
4630 static void reenq_user(struct rq *rq, struct scx_dispatch_q *dsq, u64 reenq_flags)
4650 if (!user_task_should_reenq(p, reenq_flags, &reason))
4713 u64 dsq_id, reenq_flags;
4728 reenq_flags = dru->flags;
4742 reenq_user(rq, dsq, reenq_flags);
10013 * @reenq_flags: %SCX_RENQ_*
10029 __bpf_kfunc void scx_bpf_dsq_reenq(u64 dsq_id, u64 reenq_flags,
10042 if (unlikely(reenq_flags & ~__SCX_REENQ_USER_MASK)) {
10043 scx_error(sch, "invalid SCX_REENQ flags 0x%llx", reenq_flags);
10048 if (!(reenq_flags & __SCX_REENQ_FILTER_MASK))
10049 reenq_flags |= SCX_REENQ_ANY;
10052 schedule_dsq_reenq(sch, dsq, reenq_flags, locked_rq);