<font size=2 face="sans-serif">Start by saying that I have not been involved
in the nitty gritty of the per-object locking design.</font>
<br>
<br><font size=2 face="sans-serif">What protects the attached buffer/data
structures/request when doing multithreaded MPI_Bsend()'s?  All I
see in the code path is a (no-op) MPIU_THREAD_CS_ENTER(ALLFUNC,).</font>
<br>
<br><font size=2 face="sans-serif">I have a customer test in which the
threads seem to be walking all over the request around:</font>
<br>
<br><font size=2 face="sans-serif">        /bgusr/bobc/bgq/comm/lib/dev/mpich2/src/mpid/pamid/include/../src/mpid_request.h:259
</font>
<br><font size=2 face="sans-serif">0000000001088c0c MPIR_Request_complete
</font>
<br><font size=2 face="sans-serif">        /bgusr/bobc/bgq/comm/lib/dev/mpich2/src/mpi/pt2pt/mpir_request.c:87
</font>
<br><font size=2 face="sans-serif">000000000106e874 MPIR_Test_impl
</font>
<br><font size=2 face="sans-serif">        /bgusr/bobc/bgq/comm/lib/dev/mpich2/src/mpi/pt2pt/test.c:62
</font>
<br><font size=2 face="sans-serif">00000000010188f0 MPIR_Bsend_check_active
</font>
<br><font size=2 face="sans-serif">        /bgusr/bobc/bgq/comm/lib/dev/mpich2/src/mpi/pt2pt/bsendutil.c:455
</font>
<br><font size=2 face="sans-serif">0000000001018dc0 MPIR_Bsend_isend
</font>
<br><font size=2 face="sans-serif">        /bgusr/bobc/bgq/comm/lib/dev/mpich2/src/mpi/pt2pt/bsendutil.c:226
</font>
<br><font size=2 face="sans-serif">0000000001008734 PMPI_Bsend
</font>
<br><font size=2 face="sans-serif">        /bgusr/bobc/bgq/comm/lib/dev/mpich2/src/mpi/pt2pt/bsend.c:163
</font>
<br><font size=2 face="sans-serif">00000000010009c0 00000012.long_branch_r2off.__libc_start_main+0
</font>
<br><font size=2 face="sans-serif">        :0
</font>
<br><font size=2 face="sans-serif">000000000130cbc0 start_thread
</font>
<br>
<br><font size=2 face="sans-serif">eg. (fprinting from MPIU_HANDLE_LOG_REFCOUNT_CHANGE)</font>
<br>
<br><font size=2 face="sans-serif">stderr[8]: set 0x15f8048 (0xac0000ff
kind=REQUEST) refcount to 2
</font>
<br><font size=2 face="sans-serif">stderr[8]: decr 0x15f8048 (0xac0000ff
kind=REQUEST) refcount to 1
</font>
<br><font size=2 face="sans-serif">stderr[8]: decr 0x15f8048 (0xac0000ff
kind=REQUEST) refcount to 0
</font>
<br><font size=2 face="sans-serif">stderr[8]: decr 0x15f8048 (0xac0000ff
kind=REQUEST) refcount to -1
</font>
<br><font size=2 face="sans-serif">stderr[8]: decr 0x15f8048 (0xac0000ff
kind=REQUEST) refcount to -2
</font>
<br><font size=2 face="sans-serif">stderr[8]: decr 0x15f8048 (0xac0000ff
kind=REQUEST) refcount to -3
</font>
<br><font size=2 face="sans-serif">stderr[8]: decr 0x15f8048 (0xac0000ff
kind=REQUEST) refcount to -4
</font>
<br><font size=2 face="sans-serif">stderr[8]: decr 0x15f8048 (0xac0000ff
kind=REQUEST) refcount to -5
</font>
<br><font size=2 face="sans-serif">stderr[8]: decr 0x15f8048 (0xac0000ff
kind=REQUEST) refcount to -6
</font>
<br><font size=2 face="sans-serif">stderr[8]: decr 0x15f8048 (0xac0000ff
kind=REQUEST) refcount to -7
</font>
<br><font size=2 face="sans-serif">stderr[8]: decr 0x15f8048 (0xac0000ff
kind=REQUEST) refcount to -8</font>
<br>
<br><font size=2 face="sans-serif"><br>
Bob Cernohous:  (T/L 553) 507-253-6093<br>
<br>
BobC@us.ibm.com<br>
IBM Rochester, Building 030-2(C335), Department 61L<br>
3605 Hwy 52 North, Rochester,  MN 55901-7829<br>
<br>
> Chaos reigns within.<br>
> Reflect, repent, and reboot.<br>
> Order shall return.<br>
</font>