Core NewMadeleine structure. More...
#include <nm_core.h>

Data Fields | |
| nm_spinlock_t | lock |
| lock to protect req lists in core | |
| nm_thread_level_t | thread_level |
| struct nm_pw_poll_list_s | pw_poll_list |
| active pw for send/recv to poll | |
| struct nm_pkt_wrap_list_s | prefetch_large_send |
| large packets to prefetch | |
| puk_component_t | strategy_component |
| component for the selected strategy | |
| puk_context_t | strategy_context |
| global context of the strategy | |
| const struct nm_strategy_iface_s * | strategy_iface |
| interface of the selected strategy | |
| struct nm_gate_list_s | gate_list |
| list of gates. | |
| struct nm_drv_list_s | driver_list |
| list of drivers. | |
| int | nb_drivers |
| number of drivers in drivers list | |
| struct nm_core_task_lfqueue_s | pending_tasks |
| core tasks to execute asynchronously; enqueued from non-locked sections; read from locked sections | |
| struct nm_req_chunk_allocator_s | req_chunk_allocator |
| allocator for req_chunk elements | |
| struct nm_ctrl_chunk_allocator_s | ctrl_chunk_allocator |
| allocator for control chunks | |
| struct nm_pw_nohd_allocator_s | pw_nohd_allocator |
| allocator for header-less pw | |
| struct nm_pw_buf_allocator_s | pw_buf_allocator |
| allocator for pw with contiguous buffer | |
| uint64_t | unpack_seq |
| next sequence number for unpacks | |
| int | n_packs |
| int | n_unpacks |
| number of pending packs & unpacks | |
| struct nm_matching_tag_table_s | tag_table |
| matching infor for requests with tag (and any gate) | |
| struct nm_matching_wildcard_table_s | wildcard_table |
| matching info for wildcard requests | |
| struct nm_core_monitor_vect_s | monitors |
| monitors for upper layers to track events in nmad core | |
| struct nm_active_gate_list_s | active_gates |
| list of gates with active requests | |
| struct nm_trk_hashtable_s | trk_table |
| trk table hashed by component status; used for reverse lookup | |
| struct nm_core_dispatching_event_lfqueue_s | dispatching_events |
| queue for events to dispatch | |
| struct nm_core_dispatching_event_allocator_s | dispatching_event_allocator |
| allocator for elements of above list | |
| nm_spinlock_t | dispatching_lock |
| lock for dispatching of events | |
| int | enable_schedopt |
| whether schedopt is enabled atop drivers | |
| int | enable_auto_flush |
| automatic flush after each pack_submit | |
| int | enable_isend_csum |
| check message integrity between isend submission & completion | |
| int | enable_pwsend_timeout |
| int | enable_send_prefetch |
| whether to prefetch large messages for send while rdv is in progress | |
| int | enable_recv_prefetch |
| whether to prefetch large messages for recv while rdv is in progress | |
| int | enable_gpu_support |
| whether GPU support is enabled | |
Detailed Description
Field Documentation
◆ active_gates
| struct nm_active_gate_list_s nm_core::active_gates |
list of gates with active requests
Definition at line 78 of file nm_core.h.
Referenced by nm_gate_is_in_active_list(), and nm_gate_set_active().
◆ ctrl_chunk_allocator
| struct nm_ctrl_chunk_allocator_s nm_core::ctrl_chunk_allocator |
allocator for control chunks
Definition at line 70 of file nm_core.h.
Referenced by nm_core_post_ctrl(), and nm_tactic_pack_ctrl().
◆ dispatching_event_allocator
| struct nm_core_dispatching_event_allocator_s nm_core::dispatching_event_allocator |
◆ dispatching_events
| struct nm_core_dispatching_event_lfqueue_s nm_core::dispatching_events |
◆ dispatching_lock
| nm_spinlock_t nm_core::dispatching_lock |
◆ driver_list
◆ enable_auto_flush
| int nm_core::enable_auto_flush |
◆ enable_gpu_support
| int nm_core::enable_gpu_support |
◆ enable_isend_csum
| int nm_core::enable_isend_csum |
◆ enable_pwsend_timeout
◆ enable_recv_prefetch
| int nm_core::enable_recv_prefetch |
◆ enable_schedopt
| int nm_core::enable_schedopt |
◆ enable_send_prefetch
| int nm_core::enable_send_prefetch |
◆ gate_list
◆ lock
| nm_spinlock_t nm_core::lock |
◆ monitors
| struct nm_core_monitor_vect_s nm_core::monitors |
◆ n_packs
| int nm_core::n_packs |
Definition at line 74 of file nm_core.h.
Referenced by nm_core_polling_level().
◆ n_unpacks
| int nm_core::n_unpacks |
number of pending packs & unpacks
Definition at line 74 of file nm_core.h.
Referenced by nm_core_polling_level().
◆ nb_drivers
◆ pending_tasks
| 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 67 of file nm_core.h.
Referenced by nm_core_polling_level(), and nm_core_task_enqueue().
◆ prefetch_large_send
| struct nm_pkt_wrap_list_s nm_core::prefetch_large_send |
◆ pw_buf_allocator
| struct nm_pw_buf_allocator_s nm_core::pw_buf_allocator |
◆ pw_nohd_allocator
| struct nm_pw_nohd_allocator_s nm_core::pw_nohd_allocator |
◆ pw_poll_list
| struct nm_pw_poll_list_s nm_core::pw_poll_list |
active pw for send/recv to poll
Definition at line 51 of file nm_core.h.
Referenced by nm_pw_completed_enqueue().
◆ req_chunk_allocator
| struct nm_req_chunk_allocator_s nm_core::req_chunk_allocator |
allocator for req_chunk elements
Definition at line 69 of file nm_core.h.
Referenced by nm_req_chunk_alloc(), and nm_req_chunk_destroy().
◆ strategy_component
| puk_component_t nm_core::strategy_component |
◆ strategy_context
| puk_context_t nm_core::strategy_context |
◆ strategy_iface
| const struct nm_strategy_iface_s* nm_core::strategy_iface |
◆ tag_table
| struct nm_matching_tag_table_s nm_core::tag_table |
◆ thread_level
| nm_thread_level_t nm_core::thread_level |
◆ trk_table
| struct nm_trk_hashtable_s nm_core::trk_table |
◆ unpack_seq
| uint64_t nm_core::unpack_seq |
◆ wildcard_table
| struct nm_matching_wildcard_table_s nm_core::wildcard_table |
matching info for wildcard requests
Definition at line 76 of file nm_core.h.
Referenced by nm_matching_wildcard_bytag().
The documentation for this struct was generated from the following file: