server_t Struct Reference
[Resource Reservation Low Level Implementation]

RRES server main structure. More...

#include <rres_server.h>

Data Structures

struct  rres_stat

Data Fields

qres_sid_t id
 Server identifier.
kal_time_t period
 Server period.
qres_time_t period_us
 Server period (microseconds).
kal_time_t max_budget
 Maximum budget.
qres_time_t max_budget_us
 Maximum budget (microseconds).
kal_time_t c
 Current budget.
kal_time_t deadline
 Absolute deadline.
qos_bw_t U_current
 Bandwidth currently allocated to the server (U_current = MAX_BW -> 100% of bandwidth).
struct server_t::rres_stat stat
 Statistics.
struct list_head slist
 Used to queue into list of servers.
unsigned int flags
 Bitmask of server flags.
rq_placeholder_t rq_ph
 Reference to the server readyqueue insertion point for subsequent removal.
qos_bw_t(* get_bandwidth )(struct server_t *srv)
 Virtual function to be called on budget recharge.
qos_rv(* cleanup )(struct server_t *srv)
 Virtual destructor (does not deallocate memory for server_t structure).
struct list_head ready_tasks
 Head of list of attached ready tasks (task lists).
struct list_head blocked_tasks
 Head of list of attached blocked tasks (task lists).
kal_timer_t reactive
 When this timer fires, the server is reactivated (put in ready queue).
int forbid_reorder
 Forbids update_task_order() while iterating on task list.
unsigned int weight
 Scheduling weight, currently only used by SHRUB.

Detailed Description

RRES server main structure.

Definition at line 26 of file rres_server.h.


Field Documentation

struct list_head server_t::blocked_tasks

Head of list of attached blocked tasks (task lists).

Definition at line 53 of file rres_server.h.

Referenced by rres_any_blocked_task(), rres_empty(), rres_init_server(), rres_on_task_block(), and tasklist_init().

Virtual destructor (does not deallocate memory for server_t structure).

Definition at line 50 of file rres_server.h.

Referenced by qos_func_define(), rres_cleanup_server(), and rres_init_server().

unsigned int server_t::flags

Bitmask of server flags.

Definition at line 41 of file rres_server.h.

Referenced by dispatch_task_safe(), rres_check_destroy(), rres_get_flags(), rres_init_server(), stop_task_safe(), and test_rres_init_module().

Forbids update_task_order() while iterating on task list.

Definition at line 59 of file rres_server.h.

Referenced by rres_activate_nosched(), rres_detach_all_tasks_nosched(), rres_init_server(), and rres_stop().

Virtual function to be called on budget recharge.

Definition at line 47 of file rres_server.h.

Referenced by qos_func_define(), rres_get_bandwidth(), rres_init_server(), rres_set_budget(), and rres_set_params().

Maximum budget.

Definition at line 30 of file rres_server.h.

Referenced by recharge(), rres_init_server(), rres_set_budget(), and rres_set_params().

Maximum budget (microseconds).

Definition at line 31 of file rres_server.h.

Referenced by _rres_get_bandwidth(), rres_activate_nosched(), rres_init_server(), rres_set_budget(), and rres_set_params().

Server period.

Definition at line 28 of file rres_server.h.

Referenced by recharge(), rres_init_server(), and rres_set_params().

When this timer fires, the server is reactivated (put in ready queue).

Definition at line 54 of file rres_server.h.

Referenced by rres_init_server(), rres_update_budget(), and stop_pending_timers().

struct list_head server_t::ready_tasks

Head of list of attached ready tasks (task lists).

Definition at line 52 of file rres_server.h.

Referenced by rres_any_ready_task(), rres_empty(), rres_has_ready_tasks(), rres_init_server(), rres_on_task_unblock(), rres_stop(), and tasklist_init().

Reference to the server readyqueue insertion point for subsequent removal.

Definition at line 44 of file rres_server.h.

Referenced by ready_queue_remove(), and rres_init_server().

struct list_head server_t::slist

Used to queue into list of servers.

Definition at line 39 of file rres_server.h.

Referenced by rres_add_to_srv_set(), and rres_remove_from_srv_set().

Bandwidth currently allocated to the server (U_current = MAX_BW -> 100% of bandwidth).

Definition at line 34 of file rres_server.h.

Referenced by rres_get_current_bandwidth(), rres_init_server(), and rres_set_current_bandwidth().

unsigned int server_t::weight

Scheduling weight, currently only used by SHRUB.

Definition at line 60 of file rres_server.h.

Referenced by rres_get_weight(), and rres_set_weight().


The documentation for this struct was generated from the following file:
Generated on Mon Aug 2 22:39:17 2010 for qosres by  doxygen 1.6.3