Add an additional type MCA_PTL_HDR_TYPE_FIN for last fragment notification
This commit was SVN r2165.
Этот коммит содержится в:
родитель
60a5428e43
Коммит
8b45b6e3a4
@ -15,6 +15,7 @@
|
|||||||
#define MCA_PTL_HDR_TYPE_ACK 2
|
#define MCA_PTL_HDR_TYPE_ACK 2
|
||||||
#define MCA_PTL_HDR_TYPE_NACK 3
|
#define MCA_PTL_HDR_TYPE_NACK 3
|
||||||
#define MCA_PTL_HDR_TYPE_GET 4
|
#define MCA_PTL_HDR_TYPE_GET 4
|
||||||
|
#define MCA_PTL_HDR_TYPE_FIN 5
|
||||||
|
|
||||||
#define MCA_PTL_FLAGS_ACK_MATCHED 1
|
#define MCA_PTL_FLAGS_ACK_MATCHED 1
|
||||||
#define MCA_PTL_FLAGS_ACK_AGGREGATE 2
|
#define MCA_PTL_FLAGS_ACK_AGGREGATE 2
|
||||||
|
@ -348,7 +348,7 @@ mca_ptl_elan_matched (mca_ptl_base_module_t * ptl,
|
|||||||
request = frag->frag_request;
|
request = frag->frag_request;
|
||||||
recv_frag = (mca_ptl_elan_recv_frag_t * ) frag;
|
recv_frag = (mca_ptl_elan_recv_frag_t * ) frag;
|
||||||
|
|
||||||
#if 1
|
#if 0
|
||||||
/* XXX: If to change in PML and PTL/base
|
/* XXX: If to change in PML and PTL/base
|
||||||
* Two places to setting the frag_peer after match
|
* Two places to setting the frag_peer after match
|
||||||
* teg_recvreq.c:157 or ptl_base_match.c:131
|
* teg_recvreq.c:157 or ptl_base_match.c:131
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#include "datatype/datatype.h"
|
#include "datatype/datatype.h"
|
||||||
#include "mca/pml/base/pml_base_sendreq.h"
|
#include "mca/pml/base/pml_base_sendreq.h"
|
||||||
#include "mca/pml/base/pml_base_recvreq.h"
|
#include "mca/pml/base/pml_base_recvreq.h"
|
||||||
|
#include "mca/ptl/base/ptl_base_recvfrag.h"
|
||||||
#include "ptl_elan.h"
|
#include "ptl_elan.h"
|
||||||
#include "ptl_elan_peer.h"
|
#include "ptl_elan_peer.h"
|
||||||
#include "ptl_elan_proc.h"
|
#include "ptl_elan_proc.h"
|
||||||
@ -77,7 +78,7 @@ mca_ptl_elan_data_frag (struct mca_ptl_elan_module_t *ptl,
|
|||||||
recv_frag->frag_recv.frag_base.frag_size = header->hdr_frag.hdr_frag_length;
|
recv_frag->frag_recv.frag_base.frag_size = header->hdr_frag.hdr_frag_length;
|
||||||
|
|
||||||
/* match with preposted requests */
|
/* match with preposted requests */
|
||||||
matched = mca_ptl_base_recv_frag_match (
|
matched = ptl->super.ptl_match(
|
||||||
recv_frag->frag_recv.frag_base.frag_owner,
|
recv_frag->frag_recv.frag_base.frag_owner,
|
||||||
&recv_frag->frag_recv,
|
&recv_frag->frag_recv,
|
||||||
&recv_frag->frag_recv.frag_base.frag_header.hdr_match);
|
&recv_frag->frag_recv.frag_base.frag_header.hdr_match);
|
||||||
@ -335,7 +336,7 @@ mca_ptl_elan_init_putget_desc (struct mca_ptl_elan_send_frag_t *frag,
|
|||||||
size_in = *size;
|
size_in = *size;
|
||||||
ctx = ptl->ptl_elan_ctx;
|
ctx = ptl->ptl_elan_ctx;
|
||||||
|
|
||||||
hdr->hdr_common.hdr_type = MCA_PTL_HDR_TYPE_LAST;
|
hdr->hdr_common.hdr_type = MCA_PTL_HDR_TYPE_FIN;
|
||||||
hdr->hdr_common.hdr_flags = flags;
|
hdr->hdr_common.hdr_flags = flags;
|
||||||
hdr->hdr_common.hdr_size = sizeof(mca_ptl_base_frag_header_t);
|
hdr->hdr_common.hdr_size = sizeof(mca_ptl_base_frag_header_t);
|
||||||
hdr->hdr_frag.hdr_frag_offset = offset;
|
hdr->hdr_frag.hdr_frag_offset = offset;
|
||||||
@ -712,7 +713,7 @@ mca_ptl_elan_drain_recv (mca_ptl_elan_component_t * emp)
|
|||||||
/* a control fragment for a message */
|
/* a control fragment for a message */
|
||||||
mca_ptl_elan_ctrl_frag (ptl, header);
|
mca_ptl_elan_ctrl_frag (ptl, header);
|
||||||
break;
|
break;
|
||||||
case MCA_PTL_HDR_TYPE_LAST:
|
case MCA_PTL_HDR_TYPE_FIN:
|
||||||
/* a control fragment for a message */
|
/* a control fragment for a message */
|
||||||
mca_ptl_elan_last_frag (ptl, header);
|
mca_ptl_elan_last_frag (ptl, header);
|
||||||
break;
|
break;
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user