1
1

btl/vader: fix compile on SGI UV

Этот коммит содержится в:
Nathan Hjelm 2014-12-12 09:09:01 -07:00
родитель f4aecdbfd2
Коммит 38d66272c5
3 изменённых файлов: 18 добавлений и 7 удалений

Просмотреть файл

@ -354,9 +354,8 @@ static void mca_btl_vader_check_single_copy (void)
#if OPAL_BTL_VADER_HAVE_XPMEM
if (MCA_BTL_VADER_XPMEM == mca_btl_vader_component.single_copy_mechanism) {
/* try to create an xpmem segment for the entire address space */
mca_btl_vader_component.my_seg_id = xpmem_make (0, VADER_MAX_ADDRESS, XPMEM_PERMIT_MODE, (void *)0666);
if (-1 == mca_btl_vader_component.my_seg_id) {
rc = mca_btl_vader_xpmem_init ();
if (OPAL_SUCCESS != rc) {
if (MCA_BTL_VADER_XPMEM == initial_mechanism) {
opal_show_help("help-btl-vader.txt", "xpmem-make-failed",
true, opal_process_info.nodename, errno,
@ -364,11 +363,7 @@ static void mca_btl_vader_check_single_copy (void)
}
mca_btl_vader_select_next_single_copy_mechanism ();
} else {
mca_btl_vader.super.btl_get = mca_btl_vader_get_xpmem;
mca_btl_vader.super.btl_put = mca_btl_vader_get_xpmem;
}
}
#endif

Просмотреть файл

@ -19,6 +19,19 @@
#if OPAL_BTL_VADER_HAVE_XPMEM
int mca_btl_vader_xpmem_init (void)
{
mca_btl_vader_component.my_seg_id = xpmem_make (0, VADER_MAX_ADDRESS, XPMEM_PERMIT_MODE, (void *)0666);
if (-1 == mca_btl_vader_component.my_seg_id) {
return OPAL_ERR_NOT_AVAILABLE;
}
mca_btl_vader.super.btl_get = mca_btl_vader_get_xpmem;
mca_btl_vader.super.btl_put = mca_btl_vader_get_xpmem;
return OPAL_SUCCESS;
}
/* look up the remote pointer in the peer rcache and attach if
* necessary */
mca_mpool_base_registration_t *vader_get_registation (struct mca_btl_base_endpoint_t *ep, void *rem_ptr,

Просмотреть файл

@ -22,6 +22,7 @@
#include <sn/xpmem.h>
typedef int64_t xpmem_segid_t;
typedef int64_t xpmem_apid_t;
#endif
/* look up the remote pointer in the peer rcache and attach if
@ -30,6 +31,8 @@
/* largest address we can attach to using xpmem */
#define VADER_MAX_ADDRESS ((uintptr_t)0x7ffffffff000ul)
int mca_btl_vader_xpmem_init (void);
mca_mpool_base_registration_t *vader_get_registation (struct mca_btl_base_endpoint_t *endpoint, void *rem_ptr,
size_t size, int flags, void **local_ptr);