1
1
openmpi/opal/mca/btl/vader/btl_vader_xpmem.h
Pavel Shamis (Pasha) 60fd25f3fb VADER: Adjusting VADER_MAX_ADDRESS for non x86 platforms.
The original VADER_MAX_ADDRESS was tunned for x86_64 platforms only.
For non x86_64 platforms we can use XPMEM_MAXADDR_SIZE.

Signed-off-by: Pavel Shamis (Pasha) <pasharesearch@gmail.com>
2016-05-26 16:38:04 -05:00

72 строки
1.9 KiB
C

/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2013-2014 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2016 ARM, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#if !defined(MCA_BTL_VADER_XPMEM_H)
#define MCA_BTL_VADER_XPMEM_H
#if OPAL_BTL_VADER_HAVE_XPMEM
#if defined(HAVE_XPMEM_H)
#include <xpmem.h>
typedef struct xpmem_addr xpmem_addr_t;
#elif defined(HAVE_SN_XPMEM_H)
#include <sn/xpmem.h>
typedef int64_t xpmem_segid_t;
typedef int64_t xpmem_apid_t;
#endif
#include <opal/mca/rcache/base/rcache_base_vma.h>
#include <opal/mca/rcache/rcache.h>
/* look up the remote pointer in the peer rcache and attach if
* necessary */
/* largest address we can attach to using xpmem */
#if defined(__x86_64__)
#define VADER_MAX_ADDRESS ((uintptr_t)0x7ffffffff000ul)
#else
#define VADER_MAX_ADDRESS XPMEM_MAXADDR_SIZE
#endif
int mca_btl_vader_xpmem_init (void);
mca_rcache_base_registration_t *vader_get_registation (struct mca_btl_base_endpoint_t *endpoint, void *rem_ptr,
size_t size, int flags, void **local_ptr);
void vader_return_registration (mca_rcache_base_registration_t *reg, struct mca_btl_base_endpoint_t *endpoint);
#else
static inline mca_rcache_base_registration_t *vader_get_registation (struct mca_btl_base_endpoint_t *endpoint, void *rem_ptr,
size_t size, int flags, void **local_ptr)
{
(void) endpoint;
(void) rem_ptr;
(void) size;
(void) flags;
(void) local_ptr;
return NULL;
}
static inline void vader_return_registration (mca_rcache_base_registration_t *reg, struct mca_btl_base_endpoint_t *endpoint)
{
(void) reg;
(void) endpoint;
}
#endif /* OPAL_BTL_VADER_HAVE_XPMEM */
#endif