ZC Direct API: Invoke callbacks in SMP mode through the first worker thread 55/4655/4
authorNitin Bhat <nbhat4@illinois.edu>
Thu, 4 Oct 2018 23:28:55 +0000 (19:28 -0400)
committerNitin Bhat <nbhat4@illinois.edu>
Mon, 8 Oct 2018 21:22:51 +0000 (16:22 -0500)
commitdc536e534fa542b73f22a722d8e4dee7b01bbc6e
treee231c215ecda8d81c37d6610463e700747c1171b
parent155a7da0284982c62dca3e0594e8c4330b1f8441
ZC Direct API: Invoke callbacks in SMP mode through the first worker thread

There is no relationship between a CkNcpyBuffer's PE and the its callback.
Previously, in the SMP mode, where the ackhandler function was being
executed on the comm thread, the comm thread would invoke the
_callback_group on the srcPe/destPe to finally invoke the callback.
This was done as a workaround for the absence of a location manager on
the comm thread. However, it was unnecessary to invoke the _callback_group
on the srcPe/destPe. With this commit, the _callback_group is invoked on the
first pe of that node i.e. CmiNodeFirst(CkMyNode()) rather than the
srcPe/destPe. This prefers local communication over the more expensive remote
communication.

Change-Id: I621f3eb008eeb2768d5137b88de4f41d802c937c
src/ck-core/ckrdma.C