Internal resource reservation header file. More...
#include "rres_config.h"#include "rres_interface.h"#include "qos_types.h"#include "qos_memory.h"#include "qos_list.h"#include <linux/aquosa/kal_generic.h>#include <linux/aquosa/rres_time.h>Go to the source code of this file.
Defines | |
| #define | for_each_srv(srv, head, list_field, pos) |
| Macro used by for_each_*_server to iterate over a server list. | |
| #define | for_each_srv_safe(srv, head, list_field, pos, postmp) |
| Macro used against removal risks to iterate over the server list. | |
| #define | for_each_server(srv, pos) for_each_srv((srv), &server_list, slist, (pos)) |
| Iterate over all servers in the system. | |
| #define | for_each_server_safe(srv, pos, tmppos) for_each_srv_safe((srv), &server_list, slist, (pos), (tmppos)) |
| Iterate over all servers in the system - safe against removal. | |
| #define | get_task_entry(h) list_entry((h), struct task_list, others) |
| Return the ponter to task_list referred by (h). | |
| #define | for_each_ready_task_in_server(__srv, t, pos) |
| Loop on all tasks in a server (do not modify the list). | |
| #define | for_each_blocked_task_in_server(__srv, t, pos) |
| #define | for_each_ready_task_in_server_safe(__srv, t, __pos, __tmp) |
| Loop on all tasks in a server. | |
| #define | for_each_blocked_task_in_server_safe(__srv, t, __pos, __tmp) |
Functions | |
| qos_rv | rres_init (void) |
| Initialise server lists, timers, and algorithm related data, then call rres_schedule(). | |
| qos_rv | rres_cleanup (void) |
| Destroy all servers in the system. | |
| qos_rv | rres_cleanup_default_server_nosched (server_t *srv) |
| Detach all the tasks served by the default server and cleanup the server. | |
| qos_rv | rres_detach_task_nosched (server_t *srv, struct task_struct *task) |
| qos_rv | rres_move_nosched (server_t *new_srv, struct task_struct *task) |
| Move into the specified server the specified task. | |
| void | rres_schedule (void) |
| Activate the server due to a new job arrival or add a pending request of activation if already active. | |
| void | recharge (server_t *srv) |
| Recharge the budget and update the deadline to the old value plus the server period. | |
| void | recharge_reset_from_now (server_t *srv) |
| recharge the budget and set the deadline to the actual time plus the server period | |
| qos_rv | rres_on_task_block (struct task_struct *task) |
| qos_rv | rres_on_task_unblock (struct task_struct *task) |
| static qos_bool_t | is_in_default_server (struct task_struct *t) |
| Check if the task is served by the default server. | |
| static qos_bool_t | is_default_server (server_t *srv) |
| It returns true if the server is the default server. | |
| void | rres_stop (server_t *srv) |
| Stop all tasks handled by the server. | |
| void | rres_dispatch (server_t *srv) |
| Dispatch (force scheduling) of all tasks handled by the server. | |
| void | stop_task_safe (server_t *srv, struct task_struct *task) |
| void | dispatch_task_safe (server_t *srv, struct task_struct *task) |
Variables | |
| spinlock_t generic_scheduler_lock | __cacheline_aligned |
| used for spinlock on hook handlers and timer handler | |
| struct list_head | server_list |
| list of the servers | |
| kal_time_t | last_update_time |
| time of last budget updating | |
Internal resource reservation header file.
Exports resource reservation function to other files in rres component
Definition in file rres.h.
1.6.3