[ofa-general] post_recv question

Sean Hefty sean.hefty at intel.com
Thu Feb 21 08:19:10 PST 2008


>> I have a question regarding exactly _when_ a posted recv buffer is
>> available for the HW to use:
>>
>> Consider that the post_recv methods usually just program a hw-specific
>> WR in the RQ, then ring a doorbell, then return.  There is a delta
>> period between when the app returns from the post_recv call and when the
>> HW actually DMA's the WR and programs up the HW to enable that buffer.
>> (I'm assumming a specific HW design here, but I _think_ most HW behaves
>> this way?).
>>
>> If this is all true, then from the apps point of view, the buffer isn't
>> really available when it returns from post_recv.  This can lead to
>> conditions where the app advertises that recv buffer to the peer via
>> some out of band channel, and the peer posts a SEND which arrives
>> _before_ the HW has actually setup the RECV buffer.

I'm really not following the question here.  When you say that the app
advertises the buffer, are you saying that it sends some sort of credit that a
receive is posted?  I would fully expect the receive buffer to be available to
receive data before post_recv returns, but I not sure what race you're referring
to.  Are you suggesting that this isn't the case?

- Sean




More information about the general mailing list