RTEMS: cpukit/include/rtems/score/schedulercbs.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Functions | Variables
schedulercbs.h File Reference
Internal » SuperCore » Scheduler Handler » CBS Scheduler

Thread manipulation for the CBS scheduler. More...

`#include <rtems/score/chain.h>`
`#include <rtems/score/priority.h>`
`#include <rtems/score/scheduler.h>`
`#include <rtems/score/rbtree.h>`
`#include <rtems/score/scheduleredf.h>`
`#include <rtems/rtems/signal.h>`
`#include <rtems/rtems/timer.h>`
`#include <rtems/score/thread.h>`

Go to the source code of this file.

## Data Structures
struct | Scheduler_CBS_Parameters
struct | Scheduler_CBS_Server
struct | Scheduler_CBS_Node

## Macros
#define | SCHEDULER_CBS_MAXIMUM_PRIORITY SCHEDULER_EDF_MAXIMUM_PRIORITY
#define | SCHEDULER_CBS_ENTRY_POINTS
#define | SCHEDULER_CBS_OK 0
#define | SCHEDULER_CBS_ERROR_GENERIC -16
#define | SCHEDULER_CBS_ERROR_NO_MEMORY -17
#define | SCHEDULER_CBS_ERROR_INVALID_PARAMETER -18
#define | SCHEDULER_CBS_ERROR_UNAUTHORIZED -19
#define | SCHEDULER_CBS_ERROR_UNIMPLEMENTED -20
#define | SCHEDULER_CBS_ERROR_MISSING_COMPONENT -21
#define | SCHEDULER_CBS_ERROR_INCONSISTENT_STATE -22
#define | SCHEDULER_CBS_ERROR_SYSTEM_OVERLOAD -23
#define | SCHEDULER_CBS_ERROR_INTERNAL_ERROR -24
#define | SCHEDULER_CBS_ERROR_NOT_FOUND -25
#define | SCHEDULER_CBS_ERROR_FULL -26
#define | SCHEDULER_CBS_ERROR_EMPTY -27
#define | SCHEDULER_CBS_ERROR_NOSERVER SCHEDULER_CBS_ERROR_NOT_FOUND

## Typedefs
typedef uint32_t | Scheduler_CBS_Server_id
typedef void(* | Scheduler_CBS_Budget_overrun) (Scheduler_CBS_Server_id server_id)

## Functions
void | _Scheduler_CBS_Unblock (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
| Unblocks a thread.
void | _Scheduler_CBS_Release_job (const Scheduler_Control *scheduler, Thread_Control *the_thread, Priority_Node *priority_node, uint64_t deadline, Thread_queue_Context *queue_context)
| Releases a job.
void | _Scheduler_CBS_Cancel_job (const Scheduler_Control *scheduler, Thread_Control *the_thread, Priority_Node *priority_node, Thread_queue_Context *queue_context)
| Cancels a job.
int | _Scheduler_CBS_Initialize (void)
| _Scheduler_CBS_Initialize
int | _Scheduler_CBS_Attach_thread (Scheduler_CBS_Server_id server_id, rtems_id task_id)
| Attaches a task to an already existing server.
int | _Scheduler_CBS_Detach_thread (Scheduler_CBS_Server_id server_id, rtems_id task_id)
| Detaches from the CBS Server.
int | _Scheduler_CBS_Cleanup (void)
| Cleans up resources associated to the CBS Library.
int | _Scheduler_CBS_Create_server (Scheduler_CBS_Parameters *params, Scheduler_CBS_Budget_overrun budget_overrun_callback, rtems_id *server_id)
| Creates a new server with specified parameters.
int | _Scheduler_CBS_Destroy_server (Scheduler_CBS_Server_id server_id)
| Detaches all tasks from a server and destroys it.
int | _Scheduler_CBS_Get_approved_budget (Scheduler_CBS_Server_id server_id, time_t *approved_budget)
| Retrieves the approved budget.
int | _Scheduler_CBS_Get_remaining_budget (Scheduler_CBS_Server_id server_id, time_t *remaining_budget)
| Retrieves remaining budget for the current server instance.
int | _Scheduler_CBS_Get_execution_time (Scheduler_CBS_Server_id server_id, time_t *exec_time, time_t *abs_time)
| Gets relative time info.
int | _Scheduler_CBS_Get_parameters (Scheduler_CBS_Server_id server_id, Scheduler_CBS_Parameters *params)
| Retrieves CBS scheduling parameters.
int | _Scheduler_CBS_Get_server_id (rtems_id task_id, Scheduler_CBS_Server_id *server_id)
| Gets a thread server id.
int | _Scheduler_CBS_Set_parameters (Scheduler_CBS_Server_id server_id, Scheduler_CBS_Parameters *parameters)
| Sets parameters for CBS scheduling.
void | _Scheduler_CBS_Budget_callout (Thread_Control *the_thread)
| Invoked when a limited time quantum is exceeded.
void | _Scheduler_CBS_Node_initialize (const Scheduler_Control *scheduler, Scheduler_Node *node, Thread_Control *the_thread, Priority_Control priority)
| Initializes a CBS specific scheduler node of the_thread.

## Variables
const uint32_t | _Scheduler_CBS_Maximum_servers
Scheduler_CBS_Server | _Scheduler_CBS_Server_list []

## Detailed Description

Thread manipulation for the CBS scheduler.

This include file contains all the constants and structures associated with the manipulation of threads for the CBS scheduler.