rres_interface.h File Reference

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_listrres_find_task_list (kal_task_t *task)
static server_trres_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_trres_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_trres_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

Detailed Description

RRES Module main interface header.

Todo:
(high) TOMMASO distinguish synchronized and not synchronized functions

Definition in file rres_interface.h.

Generated on Mon Aug 2 22:39:17 2010 for qosres by  doxygen 1.6.3