52 em_queue_t
queue_alloc(em_queue_t queue,
const char **err_str);
60 em_queue_group_t queue_group, em_queue_t queue_req,
62 const char **err_str);
87 unsigned int queue_count(
void);
90 char name[],
const size_t maxlen);
96 void print_queue_prio_info(
void);
97 void print_queue_elem_info(
void);
108 static inline unsigned int
109 queue_unsched_enqueue_multi(
const em_event_t events[],
int num,
112 odp_event_t odp_events[num];
113 odp_queue_t odp_queue = q_elem->
odp_queue;
116 if (unlikely(
EM_CHECK_LEVEL > 1 && odp_queue == ODP_QUEUE_INVALID))
120 q_elem->
state != EM_QUEUE_STATE_UNSCHEDULED))
123 events_em2odp(events, odp_events, num);
125 ret = odp_queue_enq_multi(odp_queue, odp_events, num);
126 if (unlikely(ret < 0))
137 queue_unsched_enqueue(em_event_t event,
const queue_elem_t *
const q_elem)
139 odp_event_t odp_event = event_em2odp(event);
140 odp_queue_t odp_queue = q_elem->
odp_queue;
144 (odp_event == ODP_EVENT_INVALID ||
145 odp_queue == ODP_QUEUE_INVALID)))
149 q_elem->
state != EM_QUEUE_STATE_UNSCHEDULED))
152 ret = odp_queue_enq(odp_queue, odp_event);
160 next_local_queue_events(
stash_entry_t entry_tbl[],
int num_events)
176 odp_stash_t stash = locm->
local_queues.prio[prio].stash;
177 int num = odp_stash_get_u64(stash, &entry_tbl[0].u64 ,
ENV_LOCAL em_locm_t em_locm
em_status_t queue_delete(queue_elem_t *const queue_elem)
em_status_t queue_init(queue_tbl_t *const queue_tbl, queue_pool_t *const queue_pool, queue_pool_t *const queue_pool_static)
em_status_t queue_enable(queue_elem_t *const q_elem)
em_status_t queue_disable(queue_elem_t *const q_elem)
em_status_t queue_term_local(void)
em_status_t queue_disable_all(eo_elem_t *const eo_elem)
const char * queue_get_type_str(em_queue_type_t type)
em_status_t queue_state_change(queue_elem_t *const queue_elem, queue_state_t new_state)
em_queue_t queue_alloc(em_queue_t queue, const char **err_str)
void queue_setup_common(queue_elem_t *q_elem, const queue_setup_t *setup)
em_status_t queue_state_change__check(queue_state_t old_state, queue_state_t new_state, int is_setup)
em_status_t queue_enable_all(eo_elem_t *const eo_elem)
em_status_t queue_state_change_all(eo_elem_t *const eo_elem, queue_state_t new_state)
const char * queue_get_state_str(queue_state_t state)
em_queue_t queue_create(const char *name, em_queue_type_t type, em_queue_prio_t prio, em_queue_group_t queue_group, em_queue_t queue_req, em_atomic_group_t atomic_group, const em_queue_conf_t *conf, const char **err_str)
em_status_t queue_init_local(void)
void print_queue_capa(void)
void print_queue_info(void)
#define EM_QUEUE_PRIO_NUM
local_queues_t local_queues