NewMadeleine

Documentation

« back to PM2 home.
nm_ibverbs_context_s Struct Reference

a context for a HCA in RC mode More...

#include <nm_ibverbs.h>

Collaboration diagram for nm_ibverbs_context_s:

Data Structures

struct  nm_ibverbs_opts_s
 

Data Fields

struct nm_ibverbs_hca_s hca
 global HCA attached to this context
 
struct { 
 
   nm_spinlock_t   lock 
 lock to protect the connection-related fields More...
 
   struct nm_ibverbs_ud_ep_s   udep 
 UD endpoint for connection management. More...
 
   struct nm_ibverbs_cnx_addr_entry_hashtable_s   addr_hash 
 cnx addresses, hashed by remote context address More...
 
   struct nm_ibverbs_cnx_qpn_hashtable_s   cnx_by_qpn 
 table of cnx hashed by their local QPN More...
 
   struct nm_ibverbs_cnx_addr_entry_list_s   pending_entries 
 list of entries currently in progress, sorted by timeout More...
 
   struct nm_ibverbs_ud_recv_pool_s   recv_pool 
 
   struct nm_ibverbs_cnx_connect_packet_s   recv_packets [8192] 
 
} connect 
 connection management using UD
 
struct { 
 
   void *   p_wide_url 
 wide url containing both UD url & vector of pre-allocated cnxs More...
 
   int   session_size 
 
   uint32_t   rank 
 
   struct nm_ibverbs_cnx_s **   pp_cached_cnxs 
 array of pre-allocated connections More...
 
} vector_connect 
 vectored connection, for launchers that support wide url and drivers with bare IB addr (no segment)
 
struct { 
 
   struct ibv_srq *   p_srq 
 shared receive queue (if supported by device) More...
 
   struct ibv_cq *   srq_cq 
 CQ used for SRQs. More...
 
   struct ibv_comp_channel *   comp_channel 
 completion channel for blocking calls More...
 
   int   cancel_fd [2] 
 pipe used to cancel a wait event on comp channel More...
 
   volatile int   waiting 
 whether we are in a blocking CQ event wait More...
 
} srq 
 
struct nm_ibverbs_context_s::nm_ibverbs_opts_s ib_opts
 

Detailed Description

a context for a HCA in RC mode

Definition at line 265 of file nm_ibverbs.h.

Field Documentation

◆ addr_hash

struct nm_ibverbs_cnx_addr_entry_hashtable_s nm_ibverbs_context_s::addr_hash

cnx addresses, hashed by remote context address

Definition at line 273 of file nm_ibverbs.h.

◆ cancel_fd

int nm_ibverbs_context_s::cancel_fd[2]

pipe used to cancel a wait event on comp channel

Definition at line 292 of file nm_ibverbs.h.

◆ cnx_by_qpn

struct nm_ibverbs_cnx_qpn_hashtable_s nm_ibverbs_context_s::cnx_by_qpn

table of cnx hashed by their local QPN

Definition at line 274 of file nm_ibverbs.h.

Referenced by nm_ibverbs_cnx_lazy_by_qpn().

◆ comp_channel

struct ibv_comp_channel* nm_ibverbs_context_s::comp_channel

completion channel for blocking calls

Definition at line 291 of file nm_ibverbs.h.

◆ [struct]

struct { ... } nm_ibverbs_context_s::connect

connection management using UD

Referenced by nm_ibverbs_cnx_lazy_by_qpn().

◆ hca

struct nm_ibverbs_hca_s nm_ibverbs_context_s::hca

global HCA attached to this context

Definition at line 267 of file nm_ibverbs.h.

◆ ib_opts

struct nm_ibverbs_context_s::nm_ibverbs_opts_s nm_ibverbs_context_s::ib_opts

◆ lock

nm_spinlock_t nm_ibverbs_context_s::lock

lock to protect the connection-related fields

Definition at line 271 of file nm_ibverbs.h.

◆ p_srq

struct ibv_srq* nm_ibverbs_context_s::p_srq

shared receive queue (if supported by device)

Definition at line 289 of file nm_ibverbs.h.

◆ p_wide_url

void* nm_ibverbs_context_s::p_wide_url

wide url containing both UD url & vector of pre-allocated cnxs

Definition at line 282 of file nm_ibverbs.h.

◆ pending_entries

struct nm_ibverbs_cnx_addr_entry_list_s nm_ibverbs_context_s::pending_entries

list of entries currently in progress, sorted by timeout

Definition at line 275 of file nm_ibverbs.h.

◆ pp_cached_cnxs

struct nm_ibverbs_cnx_s** nm_ibverbs_context_s::pp_cached_cnxs

array of pre-allocated connections

Definition at line 285 of file nm_ibverbs.h.

◆ rank

uint32_t nm_ibverbs_context_s::rank

Definition at line 284 of file nm_ibverbs.h.

◆ recv_packets

struct nm_ibverbs_cnx_connect_packet_s nm_ibverbs_context_s::recv_packets[8192]

Definition at line 277 of file nm_ibverbs.h.

◆ recv_pool

struct nm_ibverbs_ud_recv_pool_s nm_ibverbs_context_s::recv_pool

Definition at line 276 of file nm_ibverbs.h.

◆ session_size

int nm_ibverbs_context_s::session_size

Definition at line 283 of file nm_ibverbs.h.

◆ [struct]

struct { ... } nm_ibverbs_context_s::srq

◆ srq_cq

struct ibv_cq* nm_ibverbs_context_s::srq_cq

CQ used for SRQs.

Definition at line 290 of file nm_ibverbs.h.

◆ udep

struct nm_ibverbs_ud_ep_s nm_ibverbs_context_s::udep

UD endpoint for connection management.

Definition at line 272 of file nm_ibverbs.h.

◆ [struct]

struct { ... } nm_ibverbs_context_s::vector_connect

vectored connection, for launchers that support wide url and drivers with bare IB addr (no segment)

◆ waiting

volatile int nm_ibverbs_context_s::waiting

whether we are in a blocking CQ event wait

Definition at line 293 of file nm_ibverbs.h.


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