RRES Module main interface header. More...
#include "rres_config.h"#include "qos_types.h"#include "kal_sched.h"#include "rres_ready_queue.h"Go to the source code of this file.
Defines | |
| #define | MIN_SRV_PERIOD 1000LU |
| usec. | |
| #define | MIN_SRV_MAX_BUDGET 0LU |
| usec. | |
| #define | MIN_SRV_PERIOD_DEBUG 200000LU |
| usec. | |
Functions | |
| static struct task_list * | rres_find_task_list (kal_task_t *task) |
| static server_t * | rres_find_by_task (kal_task_t *task) |
| Return the pointer to the server the task is attached to, or NULL. | |
| int | rres_init_module (void) |
| Initialise rres module. | |
| void | rres_cleanup_module (void) |
| Cleanup rres module. | |
| qos_rv | rres_create_server (server_t **new_srv, qres_time_t max_budget, qres_time_t period, unsigned long flags) |
| Create a new server for task t. | |
| qos_rv | rres_init_server (server_t *new_srv, qres_time_t max_budget, qres_time_t period, unsigned long flags) |
| Initialize an already allocated server_t (or derived class). | |
| qos_rv | rres_attach_task (server_t *srv, struct task_struct *task) |
| Attach a task to an existing (possibly empty) server. | |
| qos_rv | rres_detach_task (server_t *srv, struct task_struct *task) |
| Detach specified task from its own RRES server. | |
| qos_rv | rres_destroy_server (server_t *rres) |
| Destroy the specified server. | |
| qos_rv | rres_cleanup_server (server_t *rres) |
| Cleanup the specified server, which must already be empty. | |
| qos_rv | rres_check_destroy (server_t *srv) |
| Check if server empty and, if appropriate for the server flags, destroy it. | |
| server_t * | rres_find_by_id (qres_sid_t sid) |
| Return the pointer to the server with identification number "id". | |
| qres_sid_t | rres_get_sid (server_t *rres) |
| Returns a server unique identifier. | |
| qos_rv | rres_set_params (server_t *rres, qres_time_t budget, qres_time_t period) |
| Set budget and period of RRES server (us). | |
| qos_rv | rres_get_params (server_t *rres, qres_time_t *budget, qres_time_t *period) |
| Get RRES scheduling params (us). | |
| qos_rv | rres_set_budget (server_t *rres, qres_time_t budget) |
| Set budget of RRES server (us). | |
| static qres_time_t | rres_get_curr_budget (server_t *srv) |
| Get remaining budget for the current server instance (us). | |
| qres_time_t | rres_get_period (server_t *rres) |
| Get RRES server period (us). | |
| static qos_rv | rres_get_deadline (server_t *rres, struct timespec *p_deadline) |
| Get RRES current deadline (timespec). | |
| static unsigned long | rres_get_flags (server_t *rres) |
| Get RRES server flags. | |
| qres_time_t | rres_get_exec_time (server_t *rres) |
| Get execution time since server creation (clocks). | |
| server_t * | rres_get_default_server (void) |
| Get pointer to default server. | |
| qos_rv | rres_init_default_server (server_t *srv, qres_time_t Q, qres_time_t P, unsigned long flags) |
| Initialize the default server. | |
| int | rres_has_server (struct task_struct *t) |
| returns true if the task is served by any server | |
| int | rres_empty (server_t *srv) |
| return true if the server has no task to serve | |
| int | rres_running (server_t *srv) |
| Check if the server is currently running. | |
| static struct task_struct * | rres_any_ready_task (server_t *srv) |
| Just return one of the attached ready tasks, or NULL if none exists. | |
| static struct task_struct * | rres_any_blocked_task (server_t *srv) |
| Just return one of the attached blocked tasks, or NULL if none exists. | |
| static kal_lock_t * | rres_get_spinlock (void) |
Variables | |
| spinlock_t | rres_lock |
RRES Module main interface header.
Definition in file rres_interface.h.
1.6.3