Lines Matching full:scheduler

3  * BPF extensible scheduler class: Documentation/scheduler/sched-ext.rst
76 * scx_exit_info is passed to ops.exit() to describe why the BPF scheduler is
121 * scheduler depends on pid lookup for dispatching, the task will be
125 * dispatched to the local DSQ on enqueue. If the BPF scheduler doesn't
156 * As the BPF scheduler may depend on ops.select_cpu() being invoked
160 * the BPF scheduler must be able to handle ops.enqueue() invoked on the
196 * to the scheduler transition path.
260 * struct sched_ext_ops - Operation table for BPF scheduler implementation
262 * A BPF scheduler can implement an arbitrary scheduling policy by
264 * scheduling policy can also be implemented using the BPF scheduler
296 * @enqueue: Enqueue a task on the BPF scheduler
301 * scx_bpf_dsq_insert() or enqueue on the BPF scheduler. If not directly
302 * inserted, the bpf scheduler owns @p and if it fails to dispatch @p,
311 * @dequeue: Remove a task from the BPF scheduler
315 * Remove @p from the BPF scheduler. This is usually called to isolate
327 * @dispatch: Dispatch tasks from the BPF scheduler and/or user DSQs
332 * one or more tasks from the BPF scheduler into the DSQs using
449 * The BPF scheduler should ensure that other available tasks are
454 * scheduler can implement the request, return %true; otherwise, %false.
468 * the BPF scheduler. Should return %true if @a should run before @b.
518 * @cpu_acquire: A CPU is becoming available to the BPF scheduler
519 * @cpu: The CPU being acquired by the BPF scheduler.
522 * A CPU that was previously released from the BPF scheduler is now once
528 * @cpu_release: A CPU is taken away from the BPF scheduler
529 * @cpu: The CPU being released by the BPF scheduler.
533 * scheduler. This could be because it was preempted by a higher
540 * @init_task: Initialize a task to run in a BPF scheduler
544 * Either we're loading a BPF scheduler or a new task is being forked.
549 * loading will abort loading of the BPF scheduler. During a fork, it
559 * @p is exiting or the BPF scheduler is being unloaded. Perform any
577 * @p is exiting, leaving SCX or the BPF scheduler is being unloaded.
584 * @dump: Dump BPF scheduler state on error
587 * Use scx_bpf_dump() to generate BPF scheduler specific debug dump.
592 * @dump_cpu: Dump BPF scheduler state for a CPU on error
597 * Use scx_bpf_dump() to generate BPF scheduler specific debug dump for
604 * @dump_task: Dump BPF scheduler state for a runnable task on error
608 * Use scx_bpf_dump() to generate BPF scheduler specific debug dump for
619 * Either the BPF scheduler is being loaded or @cgrp created, initialize
623 * loading will abort loading of the BPF scheduler. During cgroup
633 * Either the BPF scheduler is being unloaded or @cgrp destroyed, exit
701 * scheduler.
735 * @init: Initialize the BPF scheduler
740 * @exit: Clean up after the BPF scheduler
775 * @hotplug_seq: A sequence number that may be set by the scheduler to
777 * If 0, no detection occurs. Otherwise, the scheduler will fail to
784 * @name: BPF scheduler's name
788 * BPF scheduler is enabled.
811 * the core scheduler code silently picks a fallback CPU.
941 * The BPF scheduler is responsible for triggering a follow-up
1017 * Used to track the task ownership between the SCX core and the BPF scheduler.
1031 * any given task can be dispatched by the BPF scheduler at all times and thus
1032 * relaxes the requirements on the BPF scheduler. This allows the BPF scheduler
1038 SCX_OPSS_QUEUEING, /* in transit to the BPF scheduler */
1039 SCX_OPSS_QUEUED, /* owned by the BPF scheduler */