SCX_HAS_OP
if (unlikely(!SCX_HAS_OP(sch, enqueue)))
if (SCX_HAS_OP(sch, runnable) && !task_on_rq_migrating(p))
if (SCX_HAS_OP(sch, dequeue))
if (SCX_HAS_OP(sch, stopping) && task_current(rq, p)) {
if (SCX_HAS_OP(sch, quiescent) && !task_on_rq_migrating(p))
if (SCX_HAS_OP(sch, yield))
if (SCX_HAS_OP(sch, yield))
if (SCX_HAS_OP(sch, cpu_acquire))
if (unlikely(!SCX_HAS_OP(sch, dispatch)) || !scx_rq_online(rq))
if (SCX_HAS_OP(sch, running) && (p->scx.flags & SCX_TASK_QUEUED))
if (SCX_HAS_OP(sch, cpu_release)) {
if (SCX_HAS_OP(sch, stopping) && (p->scx.flags & SCX_TASK_QUEUED))
if (SCX_HAS_OP(sch, core_sched_before) &&
if (likely(SCX_HAS_OP(sch, select_cpu)) && !rq_bypass) {
if (SCX_HAS_OP(sch, set_cpumask))
if (online && SCX_HAS_OP(sch, cpu_online))
else if (!online && SCX_HAS_OP(sch, cpu_offline))
} else if (SCX_HAS_OP(sch, tick)) {
if (SCX_HAS_OP(sch, init_task)) {
if (SCX_HAS_OP(sch, enable))
if (SCX_HAS_OP(sch, set_weight))
if (SCX_HAS_OP(sch, disable))
if (SCX_HAS_OP(sch, exit_task))
if (SCX_HAS_OP(sch, set_weight))
if (SCX_HAS_OP(sch, set_cpumask))
if (SCX_HAS_OP(sch, cgroup_init)) {
if (scx_cgroup_enabled && SCX_HAS_OP(sch, cgroup_exit) &&
if (SCX_HAS_OP(sch, cgroup_prep_move)) {
if (SCX_HAS_OP(sch, cgroup_cancel_move) &&
if (SCX_HAS_OP(sch, cgroup_move) &&
if (SCX_HAS_OP(sch, cgroup_cancel_move) &&
if (scx_cgroup_enabled && SCX_HAS_OP(sch, cgroup_set_weight) &&
if (scx_cgroup_enabled && SCX_HAS_OP(sch, cgroup_set_idle))
if (scx_cgroup_enabled && SCX_HAS_OP(sch, cgroup_set_bandwidth) &&
if (SCX_HAS_OP(sch, dump_task)) {
if (SCX_HAS_OP(sch, dump)) {
if (idle && !SCX_HAS_OP(sch, dump_cpu))
if (SCX_HAS_OP(sch, dump_cpu)) {
if (unlikely(SCX_HAS_OP(scx_root, core_sched_before)))
if (SCX_HAS_OP(sch, update_idle) && do_notify && !scx_rq_bypassing(rq))