scx_error
scx_error(sch, "attempting to dispatch to a destroyed dsq");
scx_error(sch, "cannot use vtime ordering for built-in DSQs");
scx_error(sch, "DSQ ID 0x%016llx already had FIFO-enqueued tasks",
scx_error(sch, "DSQ ID 0x%016llx already had PRIQ-enqueued tasks",
scx_error(sch, "non-existent DSQ 0x%llx for %s[%d]",
scx_error(sch, "%s[%d] already direct-dispatched",
scx_error(sch, "scheduling for %s[%d] but trying to direct-dispatch %s[%d]",
scx_error(sch, "SCX_DSQ_LOCAL[_ON] cannot move migration disabled %s[%d] from CPU %d to %d",
scx_error(sch, "SCX_DSQ_LOCAL[_ON] target CPU %d not allowed for %s[%d]",
scx_error(sch, "ops.init_task() set task->scx.disallow for %s[%d] during fork",
scx_error(sch, "attempting to destroy in-use dsq 0x%016llx (nr=%u)",
scx_error(sch, "ops.cgroup_init() failed (%d)", ret);
scx_error(sch, "kfunc with mask 0x%x called from an operation only allowing 0x%x",
scx_error(sch, "cpu_release kfunc called from a nested operation");
scx_error(sch, "dispatch kfunc called from a nested operation");
scx_error(sch, "called on a task not being operated on");
scx_error(sch, "SCX_OPS_ENQ_LAST requires ops.enqueue() to be implemented");
scx_error(sch, "SCX_OPS_BUILTIN_IDLE_PER_NODE requires CPU idle selection enabled");
scx_error(sch, "ops.init() failed (%d)", ret);
scx_error(sch, "ops.init_task() failed (%d) for %s[%d]",
scx_error(sch, "scx_enable() failed (%d)", ret);
scx_error(sch, "called with NULL task");
scx_error(sch, "invalid enq_flags 0x%llx", enq_flags);
scx_error(sch, "dispatch buffer overflow");
scx_error(sch, "dispatch buffer underflow");
scx_error(sch, "invalid DSQ ID 0x%016llx", dsq_id);
scx_error(sch, "PREEMPT/WAIT cannot be used with SCX_KICK_IDLE");
scx_error(sch, "peek disallowed on builtin DSQ 0x%llx", dsq_id);
scx_error(sch, "peek on non-existent DSQ 0x%llx", dsq_id);
scx_error(sch, "invalid data=%p and data__sz=%u", (void *)data, data__sz);
scx_error(sch, "failed to read data fields (%d)", ret);
scx_error(sch, "format preparation failed (%d)", ret);
scx_error(sch, "(\"%s\", %p, %u) failed to format", fmt, data, data__sz);
scx_error(sch, "scx_bpf_dump() must only be called from ops.dump() and friends");
scx_error(sch, "Invalid cpuperf target %u for CPU %d", perf, cpu);
scx_error(sch, "Invalid target CPU %d", cpu);
scx_error(sch, "accessing rq without holding rq lock");
scx_error(sch, "invalid CPU %d%s%s", cpu, where ? " " : "", where ?: "");
scx_error(sch, "ops.%s() returned an invalid errno %d", ops_name, err);
scx_error(sch, "SCX_OPS_BUILTIN_IDLE_PER_NODE enabled");
scx_error(sch, "SCX_OPS_BUILTIN_IDLE_PER_NODE enabled");
scx_error(sch, "per-node idle tracking is enabled");
scx_error(sch, "per-node idle tracking is enabled");
scx_error(sch, "per-node idle tracking is disabled");
scx_error(sch, "invalid node %d", node);
scx_error(sch, "unavailable node %d", node);
scx_error(sch, "built-in idle tracking is disabled");