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ยง
- Enqueue
Flags - Possible triggers of an
enqueue
action. - Resched
Action ๐ - Possible actions of a rescheduling.
- Update
Flags - Possible triggers of an
update_current
action.
Staticsยง
- SCHEDULER ๐
Traitsยง
- Local
RunQueue - 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()
returnstrue
. - 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.