Correct the usage of req's segment_first and segment_size in sendNonContig
The implementations of sendNoncontig for intra-node communication in
Nemesis and inter-node communication in network modules (except for
TCP and SCIF) assume that req->dev.segment_first is zero and
req->dev.segment_size is the size of data, which is not always true.
If we stream an RMA operation and issue partial of derived data,
req->dev.segment_first specifies the current starting location of the data
and req->dev.segment_size specifies the current ending location of the data.
Also, the data size should be (req->dev.segment_size - req->dev.segment_first).
This patch corrects this issue in Nemesis and network modules.
Signed-off-by:
Pavan Balaji <balaji@anl.gov>
Please register or sign in to comment