Skip to content

Commit c864e84

Browse files
authored
Merge pull request #6979 from hoopoepg/topic/restored-ikrit-compilation
IKRIT: restored compilation
2 parents 8038fac + 991082a commit c864e84

File tree

3 files changed

+44
-39
lines changed

3 files changed

+44
-39
lines changed

oshmem/mca/memheap/base/base.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,14 @@ OSHMEM_DECLSPEC int mca_memheap_base_select(void);
3636
#define MEMHEAP_BASE_MIN_ORDER 3 /* forces 64 bit alignment */
3737
#define MEMHEAP_BASE_PAGE_ORDER 21
3838
#define MEMHEAP_BASE_PRIVATE_SIZE (1ULL << MEMHEAP_BASE_PAGE_ORDER) /* should be at least the same as a huge page size */
39-
#define MEMHEAP_BASE_MIN_SIZE (1ULL << MEMHEAP_BASE_PAGE_ORDER) /* must fit into at least one huge page */
39+
#define MEMHEAP_BASE_MIN_SIZE (1ULL << MEMHEAP_BASE_PAGE_ORDER) /* must fit into at least one huge page */
4040

4141
extern int mca_memheap_base_already_opened;
4242
extern int mca_memheap_base_key_exchange;
4343

4444
#define MCA_MEMHEAP_MAX_SEGMENTS 8
4545
#define HEAP_SEG_INDEX 0
46+
#define MCA_MEMHEAP_SEG_COUNT 2
4647

4748
#define MEMHEAP_SEG_INVALID 0xFFFF
4849

oshmem/mca/spml/ikrit/spml_ikrit.c

Lines changed: 41 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -149,44 +149,46 @@ int mca_spml_ikrit_put_simple(void* dst_addr,
149149
void* src_addr,
150150
int dst);
151151

152-
static void mca_spml_ikrit_cache_mkeys(sshmem_mkey_t *, uint32_t seg, int remote_pe, int tr_id);
152+
static void mca_spml_ikrit_cache_mkeys(shmem_ctx_t ctx, sshmem_mkey_t *,
153+
uint32_t seg, int remote_pe, int tr_id);
153154

154155
static mxm_mem_key_t *mca_spml_ikrit_get_mkey_slow(int pe, void *va, int ptl_id, void **rva);
155156

156157
mca_spml_ikrit_t mca_spml_ikrit = {
157-
{
158+
.super = {
158159
/* Init mca_spml_base_module_t */
159-
mca_spml_ikrit_add_procs,
160-
mca_spml_ikrit_del_procs,
161-
mca_spml_ikrit_enable,
162-
mca_spml_ikrit_register,
163-
mca_spml_ikrit_deregister,
164-
mca_spml_ikrit_oob_get_mkeys,
165-
mca_spml_ikrit_ctx_create,
166-
mca_spml_ikrit_ctx_destroy,
167-
mca_spml_ikrit_put,
168-
mca_spml_ikrit_put_nb,
169-
mca_spml_ikrit_get,
170-
mca_spml_ikrit_get_nb,
171-
mca_spml_ikrit_recv,
172-
mca_spml_ikrit_send,
173-
mca_spml_base_wait,
174-
mca_spml_base_wait_nb,
175-
mca_spml_base_test,
176-
mca_spml_ikrit_fence, /* fence is implemented as quiet */
177-
mca_spml_ikrit_fence,
178-
mca_spml_ikrit_cache_mkeys,
179-
mca_spml_base_rmkey_free,
180-
mca_spml_base_rmkey_ptr,
181-
mca_spml_base_memuse_hook,
182-
mca_spml_base_put_all_nb,
183-
184-
(void*)&mca_spml_ikrit
160+
.spml_add_procs = mca_spml_ikrit_add_procs,
161+
.spml_del_procs = mca_spml_ikrit_del_procs,
162+
.spml_enable = mca_spml_ikrit_enable,
163+
.spml_register = mca_spml_ikrit_register,
164+
.spml_deregister = mca_spml_ikrit_deregister,
165+
.spml_oob_get_mkeys = mca_spml_ikrit_oob_get_mkeys,
166+
.spml_ctx_create = mca_spml_ikrit_ctx_create,
167+
.spml_ctx_destroy = mca_spml_ikrit_ctx_destroy,
168+
.spml_put = mca_spml_ikrit_put,
169+
.spml_put_nb = mca_spml_ikrit_put_nb,
170+
.spml_get = mca_spml_ikrit_get,
171+
.spml_get_nb = mca_spml_ikrit_get_nb,
172+
.spml_recv = mca_spml_ikrit_recv,
173+
.spml_send = mca_spml_ikrit_send,
174+
.spml_wait = mca_spml_base_wait,
175+
.spml_wait_nb = mca_spml_base_wait_nb,
176+
.spml_test = mca_spml_base_test,
177+
.spml_fence = mca_spml_ikrit_fence, /* fence is implemented as quiet */
178+
.spml_quiet = mca_spml_ikrit_fence,
179+
.spml_rmkey_unpack = mca_spml_ikrit_cache_mkeys,
180+
.spml_rmkey_free = mca_spml_base_rmkey_free,
181+
.spml_rmkey_ptr = mca_spml_base_rmkey_ptr,
182+
.spml_memuse_hook = mca_spml_base_memuse_hook,
183+
.spml_put_all_nb = mca_spml_base_put_all_nb,
184+
185+
.self = (void*)&mca_spml_ikrit
185186
},
186-
mca_spml_ikrit_get_mkey_slow
187+
.get_mkey_slow = mca_spml_ikrit_get_mkey_slow
187188
};
188189

189-
static void mca_spml_ikrit_cache_mkeys(sshmem_mkey_t *mkey, uint32_t seg, int dst_pe, int tr_id)
190+
static void mca_spml_ikrit_cache_mkeys(shmem_ctx_t ctx, sshmem_mkey_t *mkey,
191+
uint32_t seg, int dst_pe, int tr_id)
190192
{
191193
mxm_peer_t *peer;
192194

@@ -210,7 +212,7 @@ mxm_mem_key_t *mca_spml_ikrit_get_mkey_slow(int pe, void *va, int ptl_id, void *
210212
sshmem_mkey_t *mkey;
211213

212214
retry:
213-
mkey = mca_memheap_base_get_cached_mkey(pe, va, ptl_id, rva);
215+
mkey = mca_memheap_base_get_cached_mkey(oshmem_ctx_default, pe, va, ptl_id, rva);
214216
if (NULL == mkey) {
215217
SPML_ERROR("pe=%d: %p is not address of shared variable", pe, va);
216218
oshmem_shmem_abort(-1);
@@ -436,9 +438,9 @@ int mca_spml_ikrit_add_procs(ompi_proc_t** procs, size_t nprocs)
436438
}
437439

438440
sshmem_mkey_t *mca_spml_ikrit_register(void* addr,
439-
size_t size,
440-
uint64_t shmid,
441-
int *count)
441+
size_t size,
442+
uint64_t shmid,
443+
int *count)
442444
{
443445
int i;
444446
sshmem_mkey_t *mkeys;
@@ -505,7 +507,8 @@ sshmem_mkey_t *mca_spml_ikrit_register(void* addr,
505507
my_rank, i, addr, (unsigned long long)size,
506508
mca_spml_base_mkey2str(&mkeys[i]));
507509

508-
mca_spml_ikrit_cache_mkeys(&mkeys[i], memheap_find_segnum(addr), my_rank, i);
510+
mca_spml_ikrit_cache_mkeys(oshmem_ctx_default, &mkeys[i],
511+
memheap_find_segnum(addr), my_rank, i);
509512
}
510513
*count = MXM_PTL_LAST;
511514

@@ -549,7 +552,8 @@ int mca_spml_ikrit_deregister(sshmem_mkey_t *mkeys)
549552

550553
}
551554

552-
int mca_spml_ikrit_oob_get_mkeys(int pe, uint32_t seg, sshmem_mkey_t *mkeys)
555+
int mca_spml_ikrit_oob_get_mkeys(shmem_ctx_t ctx, int pe, uint32_t seg,
556+
sshmem_mkey_t *mkeys)
553557
{
554558
int ptl;
555559

@@ -568,7 +572,7 @@ int mca_spml_ikrit_oob_get_mkeys(int pe, uint32_t seg, sshmem_mkey_t *mkeys)
568572
mkeys[ptl].len = 0;
569573
mkeys[ptl].va_base = mca_memheap_seg2base_va(seg);
570574
mkeys[ptl].u.key = MAP_SEGMENT_SHM_INVALID;
571-
mca_spml_ikrit_cache_mkeys(&mkeys[ptl], seg, pe, ptl);
575+
mca_spml_ikrit_cache_mkeys(ctx, &mkeys[ptl], seg, pe, ptl);
572576
return OSHMEM_SUCCESS;
573577
}
574578

oshmem/mca/spml/ikrit/spml_ikrit.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ extern sshmem_mkey_t *mca_spml_ikrit_register(void* addr,
182182
uint64_t shmid,
183183
int *count);
184184
extern int mca_spml_ikrit_deregister(sshmem_mkey_t *mkeys);
185-
extern int mca_spml_ikrit_oob_get_mkeys(int pe,
185+
extern int mca_spml_ikrit_oob_get_mkeys(shmem_ctx_t ctx, int pe,
186186
uint32_t segno,
187187
sshmem_mkey_t *mkeys);
188188

0 commit comments

Comments
 (0)