d7375ec102
What's happening is that we're holding openib_btl->eager_rdma_lock when we call mca_btl_openib_endpoint_send_eager_rdma() on btl_openib_endpoint.c:1227. This in turn calls mca_btl_openib_endpoint_send() on line 1179. Then, if the endpoint state isn't MCA_BTL_IB_CONNECTED or MCA_BTL_IB_FAILED, we call opal_progress(), where we eventually try to lock openib_btl->eager_rdma_lock at btl_openib_component.c:997. The fix removes this lock altogether. Instead we atomically set local RDMA pointer to prevent other threads to create rdma buffer for the same endpoint. And we increment eager_rdma_buffers_count atomically thus polling thread doesn't need lock around it. This commit was SVN r12369. |
||
---|---|---|
.. | ||
attribute | ||
class | ||
communicator | ||
datatype | ||
debuggers | ||
errhandler | ||
etc | ||
file | ||
group | ||
include | ||
info | ||
mca | ||
mpi | ||
op | ||
peruse | ||
proc | ||
request | ||
runtime | ||
tools | ||
win | ||
Makefile.am | ||
README.dox |
/* * 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. */