root/opal/mca/btl/vader/btl_vader_xpmem.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. vader_get_registation
  2. vader_return_registration

   1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
   2 /*
   3  * Copyright (c) 2013-2014 Los Alamos National Security, LLC. All rights
   4  *                         reserved.
   5  * Copyright (c) 2016      ARM, Inc. All rights reserved.
   6  * $COPYRIGHT$
   7  *
   8  * Additional copyrights may follow
   9  *
  10  * $HEADER$
  11  */
  12 
  13 #if !defined(MCA_BTL_VADER_XPMEM_H)
  14 #define MCA_BTL_VADER_XPMEM_H
  15 
  16 #if OPAL_BTL_VADER_HAVE_XPMEM
  17 
  18 #if defined(HAVE_XPMEM_H)
  19   #include <xpmem.h>
  20 
  21   typedef struct xpmem_addr xpmem_addr_t;
  22 #elif defined(HAVE_SN_XPMEM_H)
  23   #include <sn/xpmem.h>
  24 
  25   typedef int64_t xpmem_segid_t;
  26   typedef int64_t xpmem_apid_t;
  27 #endif
  28 
  29 #include <opal/mca/rcache/base/rcache_base_vma.h>
  30 #include <opal/mca/rcache/rcache.h>
  31 
  32 /* look up the remote pointer in the peer rcache and attach if
  33  * necessary */
  34 
  35 /* largest address we can attach to using xpmem */
  36 #if defined(__x86_64__)
  37 #define VADER_MAX_ADDRESS ((uintptr_t)0x7ffffffff000ul)
  38 #else
  39 #define VADER_MAX_ADDRESS XPMEM_MAXADDR_SIZE
  40 #endif
  41 
  42 struct mca_btl_base_endpoint_t;
  43 
  44 int mca_btl_vader_xpmem_init (void);
  45 
  46 mca_rcache_base_registration_t *vader_get_registation (struct mca_btl_base_endpoint_t *endpoint, void *rem_ptr,
  47                                                        size_t size, int flags, void **local_ptr);
  48 
  49 void vader_return_registration (mca_rcache_base_registration_t *reg, struct mca_btl_base_endpoint_t *endpoint);
  50 void mca_btl_vader_xpmem_cleanup_endpoint (struct mca_btl_base_endpoint_t *ep);
  51 
  52 #else
  53 
  54 static inline mca_rcache_base_registration_t *vader_get_registation (struct mca_btl_base_endpoint_t *endpoint, void *rem_ptr,
  55                                                                      size_t size, int flags, void **local_ptr)
  56 {
  57     (void) endpoint;
  58     (void) rem_ptr;
  59     (void) size;
  60     (void) flags;
  61     (void) local_ptr;
  62     return NULL;
  63 }
  64 
  65 static inline void vader_return_registration (mca_rcache_base_registration_t *reg, struct mca_btl_base_endpoint_t *endpoint)
  66 {
  67     (void) reg;
  68     (void) endpoint;
  69 }
  70 
  71 #endif /* OPAL_BTL_VADER_HAVE_XPMEM */
  72 
  73 #endif

/* [<][>][^][v][top][bottom][index][help] */