OSC RDMA: only touch pages before memory registration, don't fill them
Signed-off-by: Joseph Schuchart <schuchart@hlrs.de> (cherry picked from commit 52b52b8ebbe82636b65f0adc6a0a40c165eda306)
Этот коммит содержится в:
родитель
de354eae9d
Коммит
2e1e9dc9dd
@ -650,7 +650,12 @@ static int allocate_state_shared (ompi_osc_rdma_module_t *module, void **base, s
|
||||
}
|
||||
|
||||
if (size && MPI_WIN_FLAVOR_ALLOCATE == module->flavor) {
|
||||
*base = (void *)((intptr_t) module->segment_base + my_base_offset);
|
||||
char *baseptr = (char *)((intptr_t) module->segment_base + my_base_offset);
|
||||
*base = (void *)baseptr;
|
||||
// touch each page to force allocation on local NUMA node
|
||||
for (size_t i = 0; i < size; i += page_size) {
|
||||
baseptr[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
module->rank_array = (ompi_osc_rdma_rank_data_t *) module->segment_base;
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user