QRES Library Application Programming Interface. More...
#include <linux/aquosa/qos_types.h>
#include <linux/aquosa/qos_debug.h>
#include <linux/aquosa/qres_gw.h>
Go to the source code of this file.
Functions | |
qos_rv | qres_init (void) |
Initializes the QoS RES library. | |
qos_rv | qres_cleanup (void) |
Cleanup resources associated to the QoS RES Library. | |
qos_rv | qres_create_server (qres_params_t *p_params, qres_sid_t *p_sid) |
: in the following functions, if pid == 0 -> apply to itself | |
qos_rv | qres_attach_thread (qres_sid_t server_id, pid_t pid, tid_t tid) |
Attach a task to an already existing server. | |
qos_rv | qres_detach_thread (qres_sid_t sid, pid_t pid, tid_t tid) |
Detach from the QoS Server and possibly destroy it. | |
qos_rv | qres_destroy_server (qres_sid_t sid) |
Detach all processes from a server and destroy it. | |
qos_rv | qres_get_sid (pid_t pid, tid_t tid, qres_sid_t *p_sid) |
Get a thread server id, or QOS_E_NOT_FOUND if it is not attached to any server. | |
qos_rv | qres_set_bandwidth (qres_sid_t sid, qos_bw_t bw) |
Change bandwidth. | |
qos_rv | qres_get_params (qres_sid_t sid, qres_params_t *p_params) |
Retrieve QoS scheduling parameters. | |
qos_rv | qres_set_params (qres_sid_t sid, qres_params_t *p_params) |
Change QoS scheduling parameters. | |
qos_rv | qres_get_bandwidth (qres_sid_t sid, float *bw) |
Get the bandwidth of the server with the supplied ID. | |
qos_rv | qres_module_exists () |
Detect module in /proc/modules. | |
qos_rv | qres_get_exec_time (qres_sid_t sid, qres_time_t *exec_time, qres_atime_t *abs_time) |
Retrieve time info relative to the current server. | |
qos_rv | qres_get_curr_budget (qres_sid_t sid, qres_time_t *curr_budget) |
Retrieve remaining budget for the current server instance. | |
qos_rv | qres_get_next_budget (qres_sid_t sid, qres_time_t *next_budget) |
Retrieve the budget that is likely to be used for the very next server instance. | |
qos_rv | qres_get_appr_budget (qres_sid_t sid, qres_time_t *appr_budget) |
Retrieve the budget that has been approved for the subsequent server instances. | |
qos_rv | qres_get_deadline (qres_sid_t sid, struct timespec *p_deadline) |
Retrieve current scheduling deadline. | |
qos_rv | qres_set_weight (qres_sid_t sid, unsigned int weight) |
Set scheduling weight (i.e., used by shrub). | |
qos_rv | qres_get_weight (qres_sid_t sid, unsigned int *p_weight) |
Retrieve scheduling weight (i.e., used by shrub). | |
qos_rv | qres_get_servers (qres_sid_t *sids, size_t *p_num_sids) |
Retrieve the existing servers. |
QRES Library Application Programming Interface.
Check status of library/QRESMod inside each function
qres library level calls take pid_t; qres supervisor-filtered calls take struct task_struct (they use task info in order to enforce qossup policy); qres lowest level calls (cbs) take struct cbs_struct;
Definition in file qres_lib.h.