EM-ODP  3.7.0
Event Machine on ODP
em_shm_t Struct Reference

#include <em_mem.h>

Collaboration diagram for em_shm_t:

Data Fields

odp_shm_t this_shm
 
em_log_func_t log_fn
 
em_vlog_func_t vlog_fn
 
em_conf_t conf ENV_CACHE_LINE_ALIGNED
 
opt_t opt ENV_CACHE_LINE_ALIGNED
 
core_map_t core_map ENV_CACHE_LINE_ALIGNED
 
mpool_tbl_t mpool_tbl ENV_CACHE_LINE_ALIGNED
 
mpool_pool_t mpool_pool ENV_CACHE_LINE_ALIGNED
 
eo_tbl_t eo_tbl ENV_CACHE_LINE_ALIGNED
 
eo_pool_t eo_pool ENV_CACHE_LINE_ALIGNED
 
event_chaining_t event_chaining ENV_CACHE_LINE_ALIGNED
 
queue_tbl_t queue_tbl ENV_CACHE_LINE_ALIGNED
 
queue_pool_t queue_pool ENV_CACHE_LINE_ALIGNED
 
queue_pool_t queue_pool_static ENV_CACHE_LINE_ALIGNED
 
queue_group_tbl_t queue_group_tbl ENV_CACHE_LINE_ALIGNED
 
queue_group_pool_t queue_group_pool ENV_CACHE_LINE_ALIGNED
 
atomic_group_tbl_t atomic_group_tbl ENV_CACHE_LINE_ALIGNED
 
atomic_group_pool_t atomic_group_pool ENV_CACHE_LINE_ALIGNED
 
event_group_tbl_t event_group_tbl ENV_CACHE_LINE_ALIGNED
 
event_group_pool_t event_group_pool ENV_CACHE_LINE_ALIGNED
 
error_handler_t error_handler ENV_CACHE_LINE_ALIGNED
 
hook_tbl_t *dispatch_enter_cb_tbl ENV_CACHE_LINE_ALIGNED
 
hook_tbl_tdispatch_exit_cb_tbl
 
hook_tbl_talloc_hook_tbl
 
hook_tbl_tfree_hook_tbl
 
hook_tbl_tsend_hook_tbl
 
hook_tbl_tto_idle_hook_tbl
 
hook_tbl_tto_active_hook_tbl
 
hook_tbl_twhile_idle_hook_tbl
 
hook_storage_t dispatch_enter_cb_storage ENV_CACHE_LINE_ALIGNED
 
hook_storage_t dispatch_exit_cb_storage ENV_CACHE_LINE_ALIGNED
 
hook_storage_t alloc_hook_storage ENV_CACHE_LINE_ALIGNED
 
hook_storage_t free_hook_storage ENV_CACHE_LINE_ALIGNED
 
hook_storage_t send_hook_storage ENV_CACHE_LINE_ALIGNED
 
hook_storage_t to_idle_hook_storage
 
hook_storage_t to_active_hook_storage
 
hook_storage_t while_idle_hook_storage
 
env_atomic32_t eo_count ENV_CACHE_LINE_ALIGNED
 
timer_storage_t timers ENV_CACHE_LINE_ALIGNED
 
env_atomic32_t queue_count ENV_CACHE_LINE_ALIGNED
 
env_atomic32_t queue_group_count
 
env_atomic32_t event_group_count
 
env_atomic32_t atomic_group_count
 
env_atomic32_t pool_count
 
libconfig_t libconfig
 
struct {
   int   map [EM_QUEUE_PRIO_NUM]
 
   int   num_runtime
 
queue_prio
 
void *end[0] ENV_CACHE_LINE_ALIGNED
 

Detailed Description

EM shared memory data

Struct contains data that is shared between all EM-cores, i.e. shared between all EM-processes or EM-threads depending on the setup.

Definition at line 53 of file em_mem.h.

Field Documentation

◆ alloc_hook_tbl

hook_tbl_t* em_shm_t::alloc_hook_tbl

Alloc-hook functions currently in use

Definition at line 102 of file em_mem.h.

◆ atomic_group_count

env_atomic32_t em_shm_t::atomic_group_count

Current number of allocated atomic groups

Definition at line 142 of file em_mem.h.

◆ dispatch_exit_cb_tbl

hook_tbl_t* em_shm_t::dispatch_exit_cb_tbl

Dispatcher exit callback functions currently in use

Definition at line 100 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [1/28]

em_conf_t conf em_shm_t::ENV_CACHE_LINE_ALIGNED

EM configuration as given to em_init()

Definition at line 61 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [2/28]

opt_t opt em_shm_t::ENV_CACHE_LINE_ALIGNED

EM config file options

Definition at line 63 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [3/28]

core_map_t core_map em_shm_t::ENV_CACHE_LINE_ALIGNED

Mapping between physical core id <-> EM core id

Definition at line 65 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [4/28]

mpool_tbl_t mpool_tbl em_shm_t::ENV_CACHE_LINE_ALIGNED

Table of buffer/packet/event pools used by EM

Definition at line 67 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [5/28]

mpool_pool_t mpool_pool em_shm_t::ENV_CACHE_LINE_ALIGNED

Pool of free event/mempools

Definition at line 69 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [6/28]

eo_tbl_t eo_tbl em_shm_t::ENV_CACHE_LINE_ALIGNED

EO table

Definition at line 71 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [7/28]

eo_pool_t eo_pool em_shm_t::ENV_CACHE_LINE_ALIGNED

EO pool of free/unused EOs

Definition at line 73 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [8/28]

event_chaining_t event_chaining em_shm_t::ENV_CACHE_LINE_ALIGNED

Event Chaining resources

Definition at line 75 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [9/28]

queue_tbl_t queue_tbl em_shm_t::ENV_CACHE_LINE_ALIGNED

Queue table

Definition at line 77 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [10/28]

queue_pool_t queue_pool em_shm_t::ENV_CACHE_LINE_ALIGNED

Queue pool of free/unused dynamic queues

Definition at line 79 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [11/28]

queue_pool_t queue_pool_static em_shm_t::ENV_CACHE_LINE_ALIGNED

Queue pool of free/unused static queues

Definition at line 81 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [12/28]

queue_group_tbl_t queue_group_tbl em_shm_t::ENV_CACHE_LINE_ALIGNED

Queue group table

Definition at line 83 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [13/28]

queue_group_pool_t queue_group_pool em_shm_t::ENV_CACHE_LINE_ALIGNED

Queue group pool of free/unused queue groups

Definition at line 85 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [14/28]

atomic_group_tbl_t atomic_group_tbl em_shm_t::ENV_CACHE_LINE_ALIGNED

Atomic group table

Definition at line 87 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [15/28]

atomic_group_pool_t atomic_group_pool em_shm_t::ENV_CACHE_LINE_ALIGNED

Dynamic atomic group pool

Definition at line 89 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [16/28]

event_group_tbl_t event_group_tbl em_shm_t::ENV_CACHE_LINE_ALIGNED

Event group table

Definition at line 91 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [17/28]

event_group_pool_t event_group_pool em_shm_t::ENV_CACHE_LINE_ALIGNED

Event group pool of free/unused queue groups

Definition at line 93 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [18/28]

error_handler_t error_handler em_shm_t::ENV_CACHE_LINE_ALIGNED

Error handler structure

Definition at line 95 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [19/28]

hook_tbl_t* dispatch_enter_cb_tbl em_shm_t::ENV_CACHE_LINE_ALIGNED

Dispatcher enter callback functions currently in use

Definition at line 98 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [20/28]

hook_storage_t dispatch_enter_cb_storage em_shm_t::ENV_CACHE_LINE_ALIGNED

Dispatch enter callback storage, many sets of callback-tables

Definition at line 115 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [21/28]

hook_storage_t dispatch_exit_cb_storage em_shm_t::ENV_CACHE_LINE_ALIGNED

Dispatch exit callback storage, many sets of callback-tables

Definition at line 117 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [22/28]

hook_storage_t alloc_hook_storage em_shm_t::ENV_CACHE_LINE_ALIGNED

Alloc-hook function storage, many sets of hook-tables

Definition at line 119 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [23/28]

hook_storage_t free_hook_storage em_shm_t::ENV_CACHE_LINE_ALIGNED

Free-hook function storage, many sets of hook-tables

Definition at line 121 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [24/28]

hook_storage_t send_hook_storage em_shm_t::ENV_CACHE_LINE_ALIGNED

Send-hook function storage, many sets of hook-tables

Definition at line 123 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [25/28]

env_atomic32_t eo_count em_shm_t::ENV_CACHE_LINE_ALIGNED

Current number of allocated EOs

Definition at line 132 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [26/28]

timer_storage_t timers em_shm_t::ENV_CACHE_LINE_ALIGNED

Timer resources

Definition at line 134 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [27/28]

env_atomic32_t queue_count em_shm_t::ENV_CACHE_LINE_ALIGNED

Current number of allocated queues

Definition at line 136 of file em_mem.h.

◆ ENV_CACHE_LINE_ALIGNED [28/28]

void* end [0] em_shm_t::ENV_CACHE_LINE_ALIGNED

Guarantee that size is a multiple of cache line size

Definition at line 155 of file em_mem.h.

◆ event_group_count

env_atomic32_t em_shm_t::event_group_count

Current number of allocated event groups

Definition at line 140 of file em_mem.h.

◆ free_hook_tbl

hook_tbl_t* em_shm_t::free_hook_tbl

Free-hook functions currently in use

Definition at line 104 of file em_mem.h.

◆ libconfig

libconfig_t em_shm_t::libconfig

libconfig setting, default (compiled) and runtime (from file)

Definition at line 146 of file em_mem.h.

◆ log_fn

em_log_func_t em_shm_t::log_fn

EM internal log function, overridable via em_conf, var args

Definition at line 57 of file em_mem.h.

◆ map

int em_shm_t::map[EM_QUEUE_PRIO_NUM]

mapping table

Definition at line 150 of file em_mem.h.

◆ pool_count

env_atomic32_t em_shm_t::pool_count

Current number of allocated event pools

Definition at line 144 of file em_mem.h.

◆ queue_group_count

env_atomic32_t em_shm_t::queue_group_count

Current number of allocated queue groups

Definition at line 138 of file em_mem.h.

◆ queue_prio

struct { ... } em_shm_t::queue_prio

priority mapping

◆ send_hook_tbl

hook_tbl_t* em_shm_t::send_hook_tbl

Send-hook functions currently in use

Definition at line 106 of file em_mem.h.

◆ this_shm

odp_shm_t em_shm_t::this_shm

Handle for this shared memory

Definition at line 55 of file em_mem.h.

◆ to_active_hook_storage

hook_storage_t em_shm_t::to_active_hook_storage

To_active hook functions storage, many sets of hook-tables

Definition at line 127 of file em_mem.h.

◆ to_active_hook_tbl

hook_tbl_t* em_shm_t::to_active_hook_tbl

To_active hook functions currently in use

Definition at line 110 of file em_mem.h.

◆ to_idle_hook_storage

hook_storage_t em_shm_t::to_idle_hook_storage

To_idle hook functions storage, many sets of hook-tables

Definition at line 125 of file em_mem.h.

◆ to_idle_hook_tbl

hook_tbl_t* em_shm_t::to_idle_hook_tbl

To_idle hook functions currently in use

Definition at line 108 of file em_mem.h.

◆ vlog_fn

em_vlog_func_t em_shm_t::vlog_fn

EM internal log function, overridable via em_conf, va_list

Definition at line 59 of file em_mem.h.

◆ while_idle_hook_storage

hook_storage_t em_shm_t::while_idle_hook_storage

While_idle hook functions storage, many sets of hook-tables

Definition at line 129 of file em_mem.h.

◆ while_idle_hook_tbl

hook_tbl_t* em_shm_t::while_idle_hook_tbl

While_idle hook functions currently in use

Definition at line 112 of file em_mem.h.


The documentation for this struct was generated from the following file: