This source file includes following definitions.
- mca_btl_portals4_frag_common_send_constructor
- mca_btl_portals4_frag_eager_constructor
- mca_btl_portals4_frag_eager_destructor
- mca_btl_portals4_frag_max_constructor
- mca_btl_portals4_frag_user_constructor
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 
  20 
  21 #include "opal_config.h"
  22 
  23 #include "btl_portals4.h"
  24 #include "btl_portals4_frag.h"
  25 
  26 static void
  27 mca_btl_portals4_frag_common_send_constructor(mca_btl_portals4_frag_t* frag)
  28 {
  29     frag->base.des_flags = 0;
  30     frag->base.des_segments = &frag->segments[0].base;
  31     frag->base.des_segment_count = 2;
  32 
  33     frag->segments[0].base.seg_addr.pval = frag + 1;
  34     frag->segments[0].base.seg_len = frag->size;
  35     frag->segments[0].key = 0;
  36 
  37     frag->me_h = PTL_INVALID_HANDLE;
  38 }
  39 
  40 static void
  41 mca_btl_portals4_frag_eager_constructor(mca_btl_portals4_frag_t* frag)
  42 {
  43     frag->size = mca_btl_portals4_module.super.btl_eager_limit;
  44     mca_btl_portals4_frag_common_send_constructor(frag);
  45     frag->type = BTL_PORTALS4_FRAG_TYPE_EAGER;
  46 }
  47 
  48 static void
  49 mca_btl_portals4_frag_eager_destructor(mca_btl_portals4_frag_t* frag)
  50 {
  51     if (PTL_INVALID_HANDLE != frag->me_h) {
  52         PtlMEUnlink(frag->me_h);
  53         frag->me_h = PTL_INVALID_HANDLE;
  54     }
  55 }
  56 
  57 static void
  58 mca_btl_portals4_frag_max_constructor(mca_btl_portals4_frag_t* frag)
  59 {
  60     frag->size = mca_btl_portals4_module.super.btl_max_send_size;
  61     mca_btl_portals4_frag_common_send_constructor(frag);
  62     frag->type = BTL_PORTALS4_FRAG_TYPE_MAX;
  63 }
  64 
  65 static void
  66 mca_btl_portals4_frag_user_constructor(mca_btl_portals4_frag_t* frag)
  67 {
  68     frag->base.des_flags = 0;
  69     frag->size = 0;
  70     frag->type = BTL_PORTALS4_FRAG_TYPE_USER;
  71 }
  72 
  73 OBJ_CLASS_INSTANCE(
  74     mca_btl_portals4_frag_t,
  75     mca_btl_base_descriptor_t,
  76     NULL,
  77     NULL);
  78 
  79 OBJ_CLASS_INSTANCE(
  80     mca_btl_portals4_frag_eager_t,
  81     mca_btl_base_descriptor_t,
  82     mca_btl_portals4_frag_eager_constructor,
  83     mca_btl_portals4_frag_eager_destructor);
  84 
  85 OBJ_CLASS_INSTANCE(
  86     mca_btl_portals4_frag_max_t,
  87     mca_btl_base_descriptor_t,
  88     mca_btl_portals4_frag_max_constructor,
  89     NULL);
  90 
  91 OBJ_CLASS_INSTANCE(
  92     mca_btl_portals4_frag_user_t,
  93     mca_btl_base_descriptor_t,
  94     mca_btl_portals4_frag_user_constructor,
  95     NULL);