1
1

rcache: fix leave_pinned failure path

This commit fixes an error in the failure path of leave_pinned. When
the rcache tries to enable leave_pinned but leave_pinned was not
specifically requested (opal_leave_pinned == -1) the code was
erroneously printing an error and returning NULL.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
Этот коммит содержится в:
Nathan Hjelm 2016-04-26 14:39:23 -06:00
родитель c16e639b2f
Коммит 25a97af695
2 изменённых файлов: 6 добавлений и 8 удалений

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

@ -22,7 +22,7 @@ Open MPI will disable any transports that are attempting to use the
leave pinned functionality; your job may still run, but may fall back leave pinned functionality; your job may still run, but may fall back
to a slower network transport (such as TCP). to a slower network transport (such as TCP).
Mpool name: %s rcache name: %s
Process: %s Process: %s
Local host: %s Local host: %s
# #
@ -32,7 +32,7 @@ an ongoing MPI communication. This usually reflects an error in the
MPI application; it may signify memory corruption. Open MPI will now MPI application; it may signify memory corruption. Open MPI will now
abort your job. abort your job.
Mpool name: %s rcache name: %s
Local host: %s Local host: %s
Buffer address: %p Buffer address: %p
Buffer size: %lu Buffer size: %lu

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

@ -10,7 +10,7 @@
* University of Stuttgart. All rights reserved. * University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California. * Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved. * All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights * Copyright (c) 2015-2016 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -59,9 +59,7 @@ mca_rcache_base_module_t* mca_rcache_base_module_create (const char* name, void
actually). This is a hook available for memory manager hooks actually). This is a hook available for memory manager hooks
without good initialization routine support */ without good initialization routine support */
(void) mca_base_framework_open (&opal_memory_base_framework, 0); (void) mca_base_framework_open (&opal_memory_base_framework, 0);
}
if (opal_leave_pinned != 0 || opal_leave_pinned_pipeline) {
if ((OPAL_MEMORY_FREE_SUPPORT | OPAL_MEMORY_MUNMAP_SUPPORT) == if ((OPAL_MEMORY_FREE_SUPPORT | OPAL_MEMORY_MUNMAP_SUPPORT) ==
((OPAL_MEMORY_FREE_SUPPORT | OPAL_MEMORY_MUNMAP_SUPPORT) & ((OPAL_MEMORY_FREE_SUPPORT | OPAL_MEMORY_MUNMAP_SUPPORT) &
opal_mem_hooks_support_level())) { opal_mem_hooks_support_level())) {
@ -69,7 +67,7 @@ mca_rcache_base_module_t* mca_rcache_base_module_create (const char* name, void
opal_leave_pinned = !opal_leave_pinned_pipeline; opal_leave_pinned = !opal_leave_pinned_pipeline;
} }
opal_mem_hooks_register_release(mca_rcache_base_mem_cb, NULL); opal_mem_hooks_register_release(mca_rcache_base_mem_cb, NULL);
} else { } else if (1 == opal_leave_pinned || opal_leave_pinned_pipeline) {
opal_show_help("help-rcache-base.txt", "leave pinned failed", opal_show_help("help-rcache-base.txt", "leave pinned failed",
true, name, OPAL_NAME_PRINT(OPAL_PROC_MY_NAME), true, name, OPAL_NAME_PRINT(OPAL_PROC_MY_NAME),
opal_proc_local_get()->proc_hostname); opal_proc_local_get()->proc_hostname);