List-based implementation of an edf queue. More...
#include "rres_config.h"
#include "kal_timer.h"
#include "qos_types.h"
#include "qos_func.h"
#include "qos_list.h"
#include "rres_server.h"
Go to the source code of this file.
Defines | |
#define | rq_placeholder_init(p_list_head) INIT_LIST_HEAD_NULL(p_list_head) |
Inititalize a ready queue placeholder as invalid (item not enqueued). | |
#define | for_each_ready_server(srv, pos) for_each_srv((srv), &ready_queue, rq_ph, (pos)) |
iterate over ready server list | |
Typedefs | |
typedef struct list_head | rq_placeholder_t |
Ready queue placeholder, useful for being embedded within an enqueued item for subsequenct extraction. | |
Functions | |
static server_t * | get_highest_priority_server (void) |
return a pointer to the highest priority server (the first of EDF queue) | |
static int | ready_queue_empty (void) |
return true if the ready queue is empty (no ready server in the system) | |
static int | srv_alone (server_t *srv) |
return true if the server is the only ready server in the system | |
static int | in_ready_queue (server_t *srv) |
return true if the server is in ready queue | |
static void | ready_queue_remove (server_t *srv) |
Remove the server from ready queue. | |
static qos_rv | rres_edf_init (void) |
static void | rres_edf_cleanup (void) |
static qos_rv | ready_queue_add (server_t *srv) |
Add the server to ready queue, ordered by deadline (EDF). | |
Variables | |
struct list_head | ready_queue |
List of ready servers, min-ordered by abs deadline. |
List-based implementation of an edf queue.
Definition in file rres_ready_queue_list.h.