Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] [RFC] Remove explicit call to progress() from ob1.
From: Gleb Natapov (glebn_at_[hidden])
Date: 2008-02-13 03:24:18


On Tue, Feb 12, 2008 at 05:57:22PM -0500, Jeff Squyres wrote:
> Were these supposed to cover the time required for pinning and
> unpinning?
That what the comment says, but CPU executes code and not comments :)
Memory pinning happens inside prepare_dst() after prepare_dst() returns
the memory is already pinned. If you want to call progress after each
call to prepare_dst() you still can do it by setting recv_pipeline_depth
to 1. And unpinning happens in entirely different place after RDMA
completion is acknowledged.

>
> Can you explain why you think they're unnecessary?
>
The much better question is "Why they are necessary?", because if there
is not good answer to this question then they should be removed, since
they are harmful as they cause uncontrollable recursion calls.

>
> On Feb 12, 2008, at 5:27 AM, Gleb Natapov wrote:
>
> > Hi,
> >
> > I am planning to commit the following patch. Those two progress()
> > calls
> > are responsible for most of our deep recursion troubles. And I also
> > think they are completely unnecessary.
> >
> > diff --git a/ompi/mca/pml/ob1/pml_ob1_recvreq.c b/ompi/mca/pml/ob1/
> > pml_ob1_recvreq.c
> > index 5899243..641176e 100644
> > --- a/ompi/mca/pml/ob1/pml_ob1_recvreq.c
> > +++ b/ompi/mca/pml/ob1/pml_ob1_recvreq.c
> > @@ -704,9 +704,6 @@ int mca_pml_ob1_recv_request_schedule_once(
> > mca_bml_base_free(bml_btl,dst);
> > continue;
> > }
> > -
> > - /* run progress as the prepare (pinning) can take some time
> > */
> > - mca_bml.bml_progress();
> > }
> >
> > return OMPI_SUCCESS;
> > diff --git a/ompi/mca/pml/ob1/pml_ob1_sendreq.c b/ompi/mca/pml/ob1/
> > pml_ob1_sendreq.c
> > index 0998a05..9d7f3f9 100644
> > --- a/ompi/mca/pml/ob1/pml_ob1_sendreq.c
> > +++ b/ompi/mca/pml/ob1/pml_ob1_sendreq.c
> > @@ -968,7 +968,6 @@ cannot_pack:
> > mca_bml_base_free(bml_btl,des);
> > continue;
> > }
> > - mca_bml.bml_progress();
> > }
> >
> > return OMPI_SUCCESS;
> > --
> > Gleb.
> > _______________________________________________
> > devel mailing list
> > devel_at_[hidden]
> > http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
>
> --
> Jeff Squyres
> Cisco Systems
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel

--
			Gleb.