![]()  | 
  
    EM-ODP
    3.8.0-1
    
   Event Machine on ODP 
   | 
 

Go to the source code of this file.
Macros | |
| #define | invalid_qgrp(queue_group) ((unsigned int)qgrp_hdl2idx((queue_group)) >= EM_MAX_QUEUE_GROUPS) | 
Functions | |
| em_status_t | queue_group_init (queue_group_tbl_t *const queue_group_tbl, queue_group_pool_t *const queue_group_pool) | 
| em_status_t | queue_group_init_local (void) | 
| void | queue_group_join_all (void) | 
| The calling core joins all available queue groups.  More... | |
| em_queue_group_t | queue_group_create (const char *name, const em_core_mask_t *mask, int num_notif, const em_notif_t notif_tbl[], em_queue_group_t queue_group) | 
| em_queue_group_t | queue_group_create_sync (const char *name, const em_core_mask_t *mask, em_queue_group_t requested_queue_group) | 
| em_status_t | queue_group_modify (queue_group_elem_t *const qgrp_elem, const em_core_mask_t *new_mask, int num_notif, const em_notif_t notif_tbl[], bool is_delete) | 
| em_status_t | queue_group_modify_sync (queue_group_elem_t *const qgrp_elem, const em_core_mask_t *new_mask, bool is_delete) | 
| void | queue_group_add_queue_list (queue_group_elem_t *const queue_group_elem, queue_elem_t *const queue_elem) | 
| void | queue_group_rem_queue_list (queue_group_elem_t *const queue_group_elem, queue_elem_t *const queue_elem) | 
| unsigned int | queue_group_count (void) | 
| em_status_t | queue_group_check_mask (const em_core_mask_t *mask) | 
| Check that only running EM cores are set in mask.  More... | |
| void | queue_group_info_print_all (void) | 
| Print EM queue group info.  | |
| void | queue_group_queues_print (em_queue_group_t qgrp) | 
| Print info about all queues belonging to the given queue group.  | |
| void | i_event__qgrp_add_core_req (const internal_event_t *i_ev) | 
| EM internal event handler, add core to an EM queue group. (see em_internal_event.c&h)  More... | |
| void | i_event__qgrp_rem_core_req (const internal_event_t *i_ev) | 
| EM internal event handler, remove core from an EM queue group. (see em_internal_event.c&h)  More... | |
EM internal queue group functions
Definition in file em_queue_group.h.
| void i_event__qgrp_add_core_req | ( | const internal_event_t * | i_ev | ) | 
EM internal event handler, add core to an EM queue group. (see em_internal_event.c&h)
Handle the internal event requesting to add the core to an ODP schedule group that is related to an EM queue group.
Definition at line 1207 of file em_queue_group.c.
| void i_event__qgrp_rem_core_req | ( | const internal_event_t * | i_ev | ) | 
EM internal event handler, remove core from an EM queue group. (see em_internal_event.c&h)
Handle the internal event requesting to remove the core from an ODP schedule group that is related to an EM queue group.
Definition at line 1220 of file em_queue_group.c.
| em_status_t queue_group_check_mask | ( | const em_core_mask_t * | mask | ) | 
Check that only running EM cores are set in mask.
| mask | Queue group core mask | 
Definition at line 610 of file em_queue_group.c.
| em_queue_group_t queue_group_create | ( | const char * | name, | 
| const em_core_mask_t * | mask, | ||
| int | num_notif, | ||
| const em_notif_t | notif_tbl[], | ||
| em_queue_group_t | requested_queue_group | ||
| ) | 
Allow creating a queue group with a specific handle if requested and available.
Definition at line 583 of file em_queue_group.c.
| em_queue_group_t queue_group_create_sync | ( | const char * | name, | 
| const em_core_mask_t * | mask, | ||
| em_queue_group_t | requested_queue_group | ||
| ) | 
Allow creating a queue group synchronously with a specific handle if requested and available. No need for sync blocking when creating a new queue group.
Definition at line 598 of file em_queue_group.c.
| em_status_t queue_group_init | ( | queue_group_tbl_t *const | queue_group_tbl, | 
| queue_group_pool_t *const | queue_group_pool | ||
| ) | 
Queue group inits done at global init (once at startup on one core)
Definition at line 122 of file em_queue_group.c.
| void queue_group_join_all | ( | void | ) | 
The calling core joins all available queue groups.
Main use case for em_term(): to be able to flush the scheduler with only the last EM-core running we need to modify all queue groups to include this last core in the queue groups' core masks
Definition at line 370 of file em_queue_group.c.
| em_status_t queue_group_modify | ( | queue_group_elem_t *const | qgrp_elem, | 
| const em_core_mask_t * | new_mask, | ||
| int | num_notif, | ||
| const em_notif_t | notif_tbl[], | ||
| bool | is_delete | ||
| ) | 
Called by em_queue_group_modify with flag is_delete=0 and by em_queue_group_delete() with flag is_delete=1
| qgrp_elem | Queue group element | 
| new_mask | New core mask | 
| num_notif | Number of entries in notif_tbl (0 for no notification) | 
| notif_tbl | Array of notifications to send as the operation completes | 
| is_delete | Is this modify triggered by em_queue_group_delete()? | 
Definition at line 942 of file em_queue_group.c.
| em_status_t queue_group_modify_sync | ( | queue_group_elem_t *const | qgrp_elem, | 
| const em_core_mask_t * | new_mask, | ||
| bool | is_delete | ||
| ) | 
Called by em_queue_group_modify_sync with flag is_delete=0 and by em_queue_group_delete_sync() with flag is_delete=1
| qgrp_elem | Queue group element | 
| new_mask | New core mask | 
| is_delete | Is this modify triggered by em_queue_group_delete_sync()? | 
Definition at line 1034 of file em_queue_group.c.