Lines Matching +full:implementation +full:- +full:defined

5 sched_ext is a scheduler class whose behavior can be defined by a set of BPF
6 programs - the BPF scheduler.
19 `SysRq-S`.
24 `sched_ext_dump` tracepoint. The SysRq key sequence `SysRq-D`
35 .. code-block:: none
54 in ``ops->flags``, all ``SCHED_NORMAL``, ``SCHED_BATCH``, ``SCHED_IDLE``, and
58 set in ``ops->flags``, only tasks with the ``SCHED_EXT`` policy are scheduled
62 Terminating the sched_ext scheduler program, triggering `SysRq-S`, or
66 .. code-block:: none
68 # make -j16 -C tools/sched_ext
79 .. code-block:: none
90 .. code-block:: none
98 .. code-block:: none
113 .. code-block:: none
127 .. code-block:: c
132 * idle core is found by the default ops.select_cpu() implementation,
136 * Note that this implementation has exactly the same behavior as the
137 * default ops.select_cpu implementation. The behavior of the scheduler
138 * would be exactly same if the implementation just didn't define the
161 * Note that this implementation has exactly the same behavior as the
162 * default ops.enqueue implementation, which just dispatches the task
164 * if the implementation just didn't define the simple_enqueue struct_ops
183 exit_type = ei->type;
196 ---------------
206 DSQ. A task in a non-local DSQ is "move"d into the target CPU's local DSQ.
214 ----------------
227 A side-effect of selecting a CPU is waking it up from idle. While a BPF
260 used - ``SCX_DSQ_LOCAL``, ``SCX_DSQ_LOCAL_ON | cpu``,
267 * ``scx_bpf_move_to_local()`` moves a task from the specified non-local
286 built-in DSQs are used, there is no need to implement ``ops.dispatch()`` as
292 ``SCX_DSQ_LOCAL`` and ``SCX_DSQ_GLOBAL`` do not support priority-queue
303 * ``kernel/sched/ext.c`` contains sched_ext core implementation and helpers.
312 * ``scx_qmap[.bpf].c``: A multi-level FIFO scheduler supporting five
319 guarantees. This includes the ops table callbacks and constants defined in
320 ``include/linux/sched/ext.h``, as well as the ``scx_bpf_`` kfuncs defined in