
This mpool will have no btl module owner there was no btl created for the HCA with no ports, but it will still be tracked in the mpool framework (i.e., it's available). If MPI_ALLOC_MEM is called by the app, one of two things will happen: 1. if there's an HCA on the host with some active ports, the openib btl component will still be in the process space, and therefore the "mpool with no btl" (MWNB) module will still be able to call the reg/dereg functions, and all will be fine. However, if MPI_FREE_MEM is never invoked to free the memory, bad things will happen during MPI_FINALIZE. The pml is finalized, which finalizes all the btls. The btls finalize all their mpools and all is fine. But later we close down the mpool framework which then finalizes any left over mpool modules, such as MWNB. However, the openib BTL module functions that the MWNB was registered with are no longer in the process space, and it segv's while trying deregister the memory. 2. if there are *no* HCA's on the host with active ports, then the openib btl will have been unloaded, and when the MWNM tries to register the memory, the functions it tries to call (in the openib btl) are no longer there, and we segv. This commit was SVN r15735.
/* * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana * University Research and Technology * Corporation. All rights reserved. * Copyright (c) 2004-2005 The University of Tennessee and The University * of Tennessee Research Foundation. All rights * reserved. * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, * University of Stuttgart. All rights reserved. * Copyright (c) 2004-2005 The Regents of the University of California. * All rights reserved. * $COPYRIGHT$ * * Additional copyrights may follow * * $HEADER$ */ /** @mainpage @section mainpage_introduction Introduction This is the introduction. This is the introduction. This is the introduction. This is the introduction. This is the introduction. This is the introduction. This is the introduction. @section main_install Installation This is the installation section. This is the installation section. This is the installation section. This is the installation section. This is the installation section. This is the installation section. This is the installation section. */