Module scheduler

Source
Expand description

Scheduling subsystem (in-OSTD part).

This module defines what OSTD expects from a scheduling implementation and provides useful functions for controlling the execution flow.

Modulesยง

fifo_scheduler ๐Ÿ”’
info
Scheduling related information in a task.

Enumsยง

EnqueueFlags
Possible triggers of an enqueue action.
ReschedAction ๐Ÿ”’
Possible actions of a rescheduling.
UpdateFlags
Possible triggers of an update_current action.

Staticsยง

SCHEDULER ๐Ÿ”’

Traitsยง

LocalRunQueue
The local view of a per-CPU runqueue.
Scheduler
A per-CPU task scheduler.

Functionsยง

exit_current ๐Ÿ”’
Dequeues the current task from its runqueue.
inject_scheduler
Injects a scheduler implementation into framework.
might_preempt ๐Ÿ”’
Preempts the current task.
park_current ๐Ÿ”’
Blocks the current task unless has_woken() returns true.
reschedule ๐Ÿ”’
Do rescheduling by acting on the scheduling decision (ReschedAction) made by a user-given closure.
run_new_task ๐Ÿ”’
Enqueues a newly built task.
set_need_preempt ๐Ÿ”’
unpark_target ๐Ÿ”’
Unblocks a target task.
yield_now ๐Ÿ”’
Yields execution.