44 #define invalid_eo(eo) ((unsigned int)eo_hdl2idx((eo)) >= EM_MAX_EOS)
62 eo_rem_queue_all(
eo_elem_t *
const eo_elem);
65 eo_delete_queue_all(
eo_elem_t *
const eo_elem);
68 eo_start_local_req(
eo_elem_t *
const eo_elem,
71 eo_start_sync_local_req(
eo_elem_t *
const eo_elem);
78 eo_stop_local_req(
eo_elem_t *
const eo_elem,
81 eo_stop_sync_local_req(
eo_elem_t *
const eo_elem);
87 eo_remove_queue_sync_local_req(
eo_elem_t *
const eo_elem,
90 eo_remove_queue_all_local_req(
eo_elem_t *
const eo_elem,
int delete_queues,
93 eo_remove_queue_all_sync_local_req(
eo_elem_t *
const eo_elem,
int delete_queues);
98 size_t eo_get_name(
const eo_elem_t *
const eo_elem,
99 char name[],
const size_t maxlen);
104 eo_allocated(
const eo_elem_t *
const eo_elem)
111 eo_hdl2idx(em_eo_t eo)
113 return (
int)(uintptr_t)eo - 1;
117 static inline em_eo_t
118 eo_idx2hdl(
int eo_idx)
120 return (em_eo_t)(uintptr_t)(eo_idx + 1);
125 eo_elem_get(em_eo_t eo)
127 const int eo_idx = eo_hdl2idx(eo);
130 if (unlikely((
unsigned int)eo_idx >
EM_MAX_EOS - 1))
133 eo_elem = &
em_shm->eo_tbl.eo_elem[eo_idx];
140 eo_elem_current(
void)
144 if (unlikely(q_elem == NULL))
150 static inline em_eo_t
155 if (unlikely(q_elem == NULL))
158 return (em_eo_t)(uintptr_t)q_elem->
eo;
void i_event__eo_local_func_call_req(const internal_event_t *i_ev)
void eo_queue_info_print(em_eo_t eo)
void eo_info_print_all(void)
odp_stash_t eo_start_stash_create(void)
Create a stash used to buffer events sent during EO-start.
int eo_start_buffer_events(const em_event_t events[], int num, em_queue_t queue)
em_status_t eo_rem_queue(eo_elem_t *const eo_elem, queue_elem_t *const q_elem)
em_status_t eo_add_queue(eo_elem_t *const eo_elem, queue_elem_t *const q_elem)
void eo_start_send_buffered_events(eo_elem_t *const eo_elem)
ENV_LOCAL em_locm_t em_locm
em_locm_current_t current
objpool_elem_t eo_pool_elem