1
1
openmpi/ompi/mca/pml/ob1
Nathan Hjelm 7589a25377 osc/pt2pt: do not repost receive from request callback
This commit fixes an issue that can occur if a target gets overwhelmed with
requests. This can cause osc/pt2pt to go into deep recursion with a stack
like req_complete_cb -> ompi_osc_pt2pt_callback -> start -> req_complete_cb
-> ... . At small scale this is fine as the recursion depth stays small but
at larger scale we can quickly exhaust the stack processing frag requests.
To fix the issue the request callback now simply puts the request on a
list and returns. The osc/pt2pt progress function then handles the
processing and reposting of the request.

As part of this change osc/pt2pt can now post multiple fragment receive
requests per window. This should help prevent a target from being overwhelmed.

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2016-08-11 15:33:07 -06:00
..
configure.m4 Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
help-mpi-pml-ob1.txt Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
Makefile.am Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
owner.txt add owner files to opa/ompi/orte mca directories 2015-02-22 15:10:23 -07:00
pml_ob1_comm.c add_procs: add threading protection for dynamic add_procs 2015-10-21 16:13:41 -06:00
pml_ob1_comm.h forgot to update copyright in commits 627a89b 4899c89 2016-05-13 11:34:59 -04:00
pml_ob1_component.c pml/ob1: be more selective when using rdma capable btls 2016-08-09 20:54:42 -06:00
pml_ob1_component.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
pml_ob1_cuda.c pml/ob1: Fix segmentation fault on CUDA path. 2016-02-24 21:32:25 -08:00
pml_ob1_hdr.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
pml_ob1_iprobe.c Refactor the request completion (#1422) 2016-05-24 18:20:51 -05:00
pml_ob1_irecv.c pml/ob1: reset req_bytes_packed on start 2016-08-03 11:29:30 -06:00
pml_ob1_isend.c start bug fixes (#1729) 2016-06-02 20:22:40 -04:00
pml_ob1_progress.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
pml_ob1_rdma.c pml/ob1: be more selective when using rdma capable btls 2016-08-09 20:54:42 -06:00
pml_ob1_rdma.h pml/ob1: be more selective when using rdma capable btls 2016-08-09 20:54:42 -06:00
pml_ob1_rdmafrag.c Update code base to use the new opal_free_list_t 2015-02-24 10:05:45 -07:00
pml_ob1_rdmafrag.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
pml_ob1_recvfrag.c Update the copyright and cleanup the code. 2016-03-28 14:41:01 -04:00
pml_ob1_recvfrag.h opal: rework mpool and rcache frameworks 2016-03-14 10:50:41 -06:00
pml_ob1_recvreq.c opal/threads: add OPAL_THREAD_SUB_SIZE_T macro 2016-08-10 13:37:36 +09:00
pml_ob1_recvreq.h Refactor the request completion (#1422) 2016-05-24 18:20:51 -05:00
pml_ob1_sendreq.c opal/threads: add OPAL_THREAD_SUB_SIZE_T macro 2016-08-10 13:37:36 +09:00
pml_ob1_sendreq.h pml/ob1: reset req_bytes_packed on start 2016-08-03 11:29:30 -06:00
pml_ob1_start.c osc/pt2pt: do not repost receive from request callback 2016-08-11 15:33:07 -06:00
pml_ob1.c Use mca_bml_base_get_endpoint 2016-02-25 11:00:30 -06:00
pml_ob1.h pml/ob1: be more selective when using rdma capable btls 2016-08-09 20:54:42 -06:00
post_configure.sh * include the correct file if we are doing the component bypass thing with ob1 2006-02-22 16:16:38 +00:00