Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Galen Shipman (gshipman_at_[hidden])
Date: 2007-05-27 12:32:26


Can we get rid of mca_pml_ob1_send_fin_btl and just have
mca_pml_ob1_send_fin? It seems we should just always send the fin
over the same btl and this would clean up the code a bit.

Thanks,

Galen

On May 27, 2007, at 2:29 AM, gleb_at_[hidden] wrote:

> Author: gleb
> Date: 2007-05-27 04:29:38 EDT (Sun, 27 May 2007)
> New Revision: 14780
> URL: https://svn.open-mpi.org/trac/ompi/changeset/14780
>
> Log:
> Fix out of resource handling for FIN packets broken by r14768.
>
> Text files modified:
> trunk/ompi/mca/pml/ob1/pml_ob1.c | 7 +++----
> trunk/ompi/mca/pml/ob1/pml_ob1.h | 14 ++++++++++++--
> 2 files changed, 15 insertions(+), 6 deletions(-)
>
> Modified: trunk/ompi/mca/pml/ob1/pml_ob1.c
> ======================================================================
> ========
> --- trunk/ompi/mca/pml/ob1/pml_ob1.c (original)
> +++ trunk/ompi/mca/pml/ob1/pml_ob1.c 2007-05-27 04:29:38 EDT (Sun,
> 27 May 2007)
> @@ -249,7 +249,7 @@
> MCA_PML_OB1_PROGRESS_PENDING(bml_btl);
> }
>
> -int mca_pml_ob1_send_fin(
> +int mca_pml_ob1_send_fin_btl(
> ompi_proc_t* proc,
> mca_bml_base_btl_t* bml_btl,
> void *hdr_des,
> @@ -260,9 +260,8 @@
> mca_pml_ob1_fin_hdr_t* hdr;
> int rc;
>
> - MCA_PML_OB1_DES_ALLOC(bml_btl, fin, order, sizeof
> (mca_pml_ob1_fin_hdr_t));
> + MCA_PML_OB1_DES_ALLOC(bml_btl, fin, order, sizeof
> (mca_pml_ob1_fin_hdr_t));
> if(NULL == fin) {
> - MCA_PML_OB1_ADD_FIN_TO_PENDING(proc, hdr_des, bml_btl,
> order);
> return OMPI_ERR_OUT_OF_RESOURCE;
> }
> fin->des_flags |= MCA_BTL_DES_FLAGS_PRIORITY;
> @@ -349,7 +348,7 @@
> }
> break;
> case MCA_PML_OB1_HDR_TYPE_FIN:
> - rc = mca_pml_ob1_send_fin(pckt->proc, send_dst,
> + rc = mca_pml_ob1_send_fin_btl(pckt->proc, send_dst,
> pckt-
> >hdr.hdr_fin.hdr_des.pval,
> pckt->order);
> MCA_PML_OB1_PCKT_PENDING_RETURN(pckt);
>
> Modified: trunk/ompi/mca/pml/ob1/pml_ob1.h
> ======================================================================
> ========
> --- trunk/ompi/mca/pml/ob1/pml_ob1.h (original)
> +++ trunk/ompi/mca/pml/ob1/pml_ob1.h 2007-05-27 04:29:38 EDT (Sun,
> 27 May 2007)
> @@ -283,9 +283,19 @@
> } while(0)
>
>
> -int mca_pml_ob1_send_fin(ompi_proc_t* proc, mca_bml_base_btl_t*
> bml_btl,
> - void *hdr_des, uint8_t order);
> +int mca_pml_ob1_send_fin_btl(ompi_proc_t* proc,
> mca_bml_base_btl_t* bml_btl,
> + void *hdr_des, uint8_t order);
>
> +static inline int mca_pml_ob1_send_fin(ompi_proc_t* proc, void
> *hdr_des,
> + mca_bml_base_btl_t* bml_btl, uint8_t order)
> +{
> + if(mca_pml_ob1_send_fin_btl(proc, bml_btl, hdr_des, order) ==
> OMPI_SUCCESS)
> + return OMPI_SUCCESS;
> +
> + MCA_PML_OB1_ADD_FIN_TO_PENDING(proc, hdr_des, bml_btl, order);
> +
> + return OMPI_ERR_OUT_OF_RESOURCE;
> +}
>
> /* This function tries to resend FIN/ACK packets from pckt_pending
> queue.
> * Packets are added to the queue when sending of FIN or ACK is
> failed due to
> _______________________________________________
> svn mailing list
> svn_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/svn