Core NewMadeleine structure. More...
#include <nm_core.h>
Data Fields | |
nm_spinlock_t | lock |
lock to protect req lists in core More... | |
nm_thread_level_t | thread_level |
struct nm_pkt_wrap_list_s | pending_send_list |
active pw for send to poll More... | |
struct nm_pkt_wrap_list_s | pending_recv_list |
active pw for recv to poll More... | |
struct nm_pkt_wrap_list_s | prefetch_large_send |
large packets to prefetch More... | |
puk_component_t | strategy_component |
component for the selected strategy More... | |
puk_context_t | strategy_context |
global context of the strategy More... | |
const struct nm_strategy_iface_s * | strategy_iface |
interface of the selected strategy More... | |
struct nm_gate_list_s | gate_list |
list of gates. More... | |
struct nm_drv_list_s | driver_list |
list of drivers. More... | |
int | nb_drivers |
number of drivers in drivers list More... | |
struct nm_core_task_lfqueue_s | pending_tasks |
core tasks to execute asynchronously; enqueued from non-locked sections; read from locked sections More... | |
struct nm_req_chunk_allocator_s | req_chunk_allocator |
allocator for req_chunk elements More... | |
struct nm_ctrl_chunk_allocator_s | ctrl_chunk_allocator |
allocator for control chunks More... | |
struct nm_pw_nohd_allocator_s | pw_nohd_allocator |
allocator for header-less pw More... | |
struct nm_pw_buf_allocator_s | pw_buf_allocator |
allocator for pw with contiguous buffer More... | |
uint64_t | unpack_seq |
next sequence number for unpacks More... | |
int | n_packs |
int | n_unpacks |
number of pending packs & unpacks More... | |
struct nm_matching_tag_table_s | tag_table |
matching infor for requests with tag (and any gate) More... | |
struct nm_matching_wildcard_table_s | wildcard_table |
matching info for wildcard requests More... | |
struct nm_core_monitor_vect_s | monitors |
monitors for upper layers to track events in nmad core More... | |
struct nm_active_gate_list_s | active_gates |
list of gates with active requests More... | |
struct nm_trk_hashtable_s | trk_table |
trk table hashed by component status; used for reverse lookup More... | |
struct nm_core_dispatching_event_lfqueue_s | dispatching_events |
queue for events to dispatch More... | |
struct nm_core_dispatching_event_allocator_s | dispatching_event_allocator |
allocator for elements of above list More... | |
nm_spinlock_t | dispatching_lock |
lock for dispatching of events More... | |
int | enable_schedopt |
whether schedopt is enabled atop drivers More... | |
int | enable_auto_flush |
automatic flush after each pack_submit More... | |
int | enable_isend_csum |
check message integrity between isend submission & completion More... | |
int | enable_pwsend_timeout |
int | enable_send_prefetch |
whether to prefetch large messages for send while rdv is in progress More... | |
int | enable_recv_prefetch |
whether to prefetch large messages for recv while rdv is in progress More... | |
struct nm_active_gate_list_s nm_core::active_gates |
list of gates with active requests
Definition at line 75 of file nm_core.h.
Referenced by nm_gate_is_in_active_list(), nm_gate_set_active(), and nm_strat_schedule().
struct nm_ctrl_chunk_allocator_s nm_core::ctrl_chunk_allocator |
allocator for control chunks
Definition at line 67 of file nm_core.h.
Referenced by nm_strat_pack_ctrl(), and nm_tactic_pack_ctrl().
struct nm_core_dispatching_event_allocator_s nm_core::dispatching_event_allocator |
struct nm_core_dispatching_event_lfqueue_s nm_core::dispatching_events |
nm_spinlock_t nm_core::dispatching_lock |
int nm_core::enable_auto_flush |
int nm_core::enable_isend_csum |
int nm_core::enable_recv_prefetch |
int nm_core::enable_schedopt |
int nm_core::enable_send_prefetch |
nm_spinlock_t nm_core::lock |
struct nm_core_monitor_vect_s nm_core::monitors |
int nm_core::n_packs |
Definition at line 71 of file nm_core.h.
Referenced by nm_core_polling_level().
int nm_core::n_unpacks |
number of pending packs & unpacks
Definition at line 71 of file nm_core.h.
Referenced by nm_core_polling_level().
struct nm_pkt_wrap_list_s nm_core::pending_recv_list |
struct nm_pkt_wrap_list_s nm_core::pending_send_list |
struct nm_core_task_lfqueue_s nm_core::pending_tasks |
core tasks to execute asynchronously; enqueued from non-locked sections; read from locked sections
Definition at line 64 of file nm_core.h.
Referenced by nm_core_polling_level(), and nm_core_task_enqueue().
struct nm_pkt_wrap_list_s nm_core::prefetch_large_send |
struct nm_pw_buf_allocator_s nm_core::pw_buf_allocator |
struct nm_pw_nohd_allocator_s nm_core::pw_nohd_allocator |
struct nm_req_chunk_allocator_s nm_core::req_chunk_allocator |
allocator for req_chunk elements
Definition at line 66 of file nm_core.h.
Referenced by nm_req_chunk_alloc(), and nm_req_chunk_destroy().
puk_component_t nm_core::strategy_component |
puk_context_t nm_core::strategy_context |
global context of the strategy
Definition at line 57 of file nm_core.h.
Referenced by nm_strat_pack_ctrl(), nm_strat_schedule(), and nm_strat_submit_req_chunk().
const struct nm_strategy_iface_s* nm_core::strategy_iface |
interface of the selected strategy
Definition at line 58 of file nm_core.h.
Referenced by nm_strat_gate_schedule(), nm_strat_pack_ctrl(), nm_strat_schedule(), and nm_strat_submit_req_chunk().
struct nm_matching_tag_table_s nm_core::tag_table |
nm_thread_level_t nm_core::thread_level |
struct nm_trk_hashtable_s nm_core::trk_table |
uint64_t nm_core::unpack_seq |
struct nm_matching_wildcard_table_s nm_core::wildcard_table |
matching info for wildcard requests
Definition at line 73 of file nm_core.h.
Referenced by nm_matching_wildcard_bytag().