Motr  M0
lnet_xo.c File Reference

Go to the source code of this file.

Data Structures

struct  nlx_xo_interceptable_subs
 

Macros

#define _NLXIS(s)   ._##s = s
 
#define NLX_core_buf_event_wait(lcdom, lctm, timeout)   (*nlx_xo_iv._nlx_core_buf_event_wait)(lcdom, lctm, timeout)
 
#define NLX_ep_create(epp, tm, cepa)   (*nlx_xo_iv._nlx_ep_create)(epp, tm, cepa)
 
#define NLX_tm_get_buffer_timeout_tick(tm)   (*nlx_xo_iv._nlx_tm_get_buffer_timeout_tick)(tm)
 
#define NLX_tm_timeout_buffers(tm, now)   (*nlx_xo_iv._nlx_tm_timeout_buffers)(tm, now)
 

Functions

static bool nlx_dom_invariant (const struct m0_net_domain *dom)
 
static bool nlx_ep_invariant (const struct m0_net_end_point *ep)
 
static bool nlx_buffer_invariant (const struct m0_net_buffer *nb)
 
static bool nlx_tm_invariant (const struct m0_net_transfer_mc *tm)
 
static int nlx_xo_dom_init (const struct m0_net_xprt *xprt, struct m0_net_domain *dom)
 
static void nlx_xo_dom_fini (struct m0_net_domain *dom)
 
static m0_bcount_t nlx_xo_get_max_buffer_size (const struct m0_net_domain *dom)
 
static m0_bcount_t nlx_xo_get_max_buffer_segment_size (const struct m0_net_domain *dom)
 
static int32_t nlx_xo_get_max_buffer_segments (const struct m0_net_domain *dom)
 
static int nlx_xo_end_point_create (struct m0_net_end_point **epp, struct m0_net_transfer_mc *tm, const char *addr)
 
static bool nlx_xo_buffer_bufvec_invariant (const struct m0_net_buffer *nb)
 
static int nlx_xo_buf_register (struct m0_net_buffer *nb)
 
static void nlx_xo_buf_deregister (struct m0_net_buffer *nb)
 
static int nlx_xo__nbd_allocate (struct m0_net_transfer_mc *tm, const struct nlx_core_buf_desc *cbd, struct m0_net_buf_desc *nbd)
 
static int nlx_xo__nbd_recover (struct m0_net_transfer_mc *tm, const struct m0_net_buf_desc *nbd, struct nlx_core_buf_desc *cbd)
 
static int nlx_xo_buf_add (struct m0_net_buffer *nb)
 
static void nlx_xo_buf_del (struct m0_net_buffer *nb)
 
static int nlx_xo_tm_init (struct m0_net_transfer_mc *tm)
 
static void nlx_xo_tm_fini (struct m0_net_transfer_mc *tm)
 
static int nlx_xo_tm_start (struct m0_net_transfer_mc *tm, const char *addr)
 
static int nlx_xo_tm_stop (struct m0_net_transfer_mc *tm, bool cancel)
 
static int nlx_xo_tm_confine (struct m0_net_transfer_mc *tm, const struct m0_bitmap *processors)
 
static void nlx_xo_bev_deliver_all (struct m0_net_transfer_mc *tm)
 
static int nlx_xo_bev_deliver_sync (struct m0_net_transfer_mc *tm)
 
static bool nlx_xo_bev_pending (struct m0_net_transfer_mc *tm)
 
static void nlx_xo_bev_notify (struct m0_net_transfer_mc *tm, struct m0_chan *chan)
 
static m0_bcount_t nlx_xo_get_max_buffer_desc_size (const struct m0_net_domain *dom)
 
static m0_bcount_t nlx_xo_rpc_max_seg_size (struct m0_net_domain *ndom)
 
static uint32_t nlx_xo_rpc_max_segs_nr (struct m0_net_domain *ndom)
 
static m0_bcount_t nlx_xo_rpc_max_msg_size (struct m0_net_domain *ndom, m0_bcount_t rpc_size)
 
static uint32_t nlx_xo_rpc_max_recv_msgs (struct m0_net_domain *ndom, m0_bcount_t rpc_size)
 

Variables

static struct nlx_xo_interceptable_subs nlx_xo_iv
 
static const struct m0_net_xprt_ops nlx_xo_xprt_ops
 
const struct m0_net_xprt m0_net_lnet_xprt
 

Macro Definition Documentation

◆ _NLXIS

#define _NLXIS (   s)    ._##s = s

Function Documentation

◆ nlx_ep_invariant()

static bool nlx_ep_invariant ( const struct m0_net_end_point ep)
static

Definition at line 35 of file lnet_xo.c.

◆ nlx_tm_invariant()

static bool nlx_tm_invariant ( const struct m0_net_transfer_mc tm)
static

Definition at line 56 of file lnet_xo.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ nlx_xo_buffer_bufvec_invariant()

static bool nlx_xo_buffer_bufvec_invariant ( const struct m0_net_buffer nb)
static

Definition at line 185 of file lnet_xo.c.

Here is the call graph for this function:
Here is the caller graph for this function: