}
}
-static bool task_should_reenq(struct task_struct *p, u64 reenq_flags, u32 *reason)
+static bool local_task_should_reenq(struct task_struct *p, u64 *reenq_flags, u32 *reason)
{
*reason = SCX_TASK_REENQ_KFUNC;
-
- if (reenq_flags & SCX_REENQ_ANY)
- return true;
- return false;
+ return *reenq_flags & SCX_REENQ_ANY;
}
static u32 reenq_local(struct scx_sched *sch, struct rq *rq, u64 reenq_flags)
if (!scx_is_descendant(task_sch, sch))
continue;
- if (!task_should_reenq(p, reenq_flags, &reason))
+ if (!local_task_should_reenq(p, &reenq_flags, &reason))
continue;
dispatch_dequeue(rq, p);
}
}
+static bool user_task_should_reenq(struct task_struct *p, u64 reenq_flags, u32 *reason)
+{
+ *reason = SCX_TASK_REENQ_KFUNC;
+ return reenq_flags & SCX_REENQ_ANY;
+}
+
static void reenq_user(struct rq *rq, struct scx_dispatch_q *dsq, u64 reenq_flags)
{
struct rq *locked_rq = rq;
if (!p)
break;
- if (!task_should_reenq(p, reenq_flags, &reason))
+ if (!user_task_should_reenq(p, reenq_flags, &reason))
continue;
task_rq = task_rq(p);