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: Jeff Squyres (jsquyres_at_[hidden])
Date: 2008-02-13 10:02:45


Good enough for me. I'd also say that the comments should be
fixed. :-)

On Feb 13, 2008, at 3:24 AM, Gleb Natapov wrote:

> 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.
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel

-- 
Jeff Squyres
Cisco Systems