|
RTEMS CPU Kit with SuperCore
4.10.99.0
|
function jump table that holds pointers to the functions that implement specific schedulers. More...
#include <scheduler.h>
Data Fields | |
| void(* | initialize )(void) |
| Implements the scheduling decision logic (policy). | |
| void(* | schedule )(void) |
| Implements the scheduling decision logic (policy). | |
| void(* | yield )(void) |
| Voluntarily yields the processor per the scheduling policy. | |
| void(* | block )(Thread_Control *) |
| Removes the given thread from scheduling decisions. | |
| void(* | unblock )(Thread_Control *) |
| Adds the given thread to scheduling decisions. | |
| void *(* | allocate )(Thread_Control *) |
| allocates the scheduler field of the given thread | |
| void(* | free )(Thread_Control *) |
| frees the scheduler field of the given thread | |
| void(* | update )(Thread_Control *) |
| updates the scheduler field of the given thread -- primarily used when changing the thread's priority. | |
| void(* | enqueue )(Thread_Control *) |
| enqueue a thread as the last of its priority group | |
| void(* | enqueue_first )(Thread_Control *) |
| enqueue a thread as the first of its priority group | |
| void(* | extract )(Thread_Control *) |
| extract a thread from the ready set | |
| int(* | priority_compare )(Priority_Control, Priority_Control) |
| Compares two priorities (returns >0 for higher priority, 0 for equal and <0 for lower priority). | |
| void(* | release_job )(Thread_Control *, uint32_t) |
| This routine is called upon release of a new job. | |
| void(* | tick )(void) |
| perform scheduler update actions required at each clock tick | |
function jump table that holds pointers to the functions that implement specific schedulers.
| void( * Scheduler_Operations::block)(Thread_Control *) |
Removes the given thread from scheduling decisions.
Referenced by _Scheduler_Block().
| void( * Scheduler_Operations::initialize)(void) |
Implements the scheduling decision logic (policy).
| void( * Scheduler_Operations::release_job)(Thread_Control *, uint32_t) |
This routine is called upon release of a new job.
Referenced by _Scheduler_Release_job().
| void( * Scheduler_Operations::schedule)(void) |
Implements the scheduling decision logic (policy).
Referenced by _Scheduler_Schedule().
| void( * Scheduler_Operations::unblock)(Thread_Control *) |
Adds the given thread to scheduling decisions.
Referenced by _Scheduler_Unblock().
| void( * Scheduler_Operations::update)(Thread_Control *) |
updates the scheduler field of the given thread -- primarily used when changing the thread's priority.
Referenced by _Scheduler_Update().
| void( * Scheduler_Operations::yield)(void) |
Voluntarily yields the processor per the scheduling policy.
Referenced by _Scheduler_Yield().
1.7.5