[openib-general] [ANNOUNCE] Contribute RDS (Reliable DatagramSockets) to OpenIB

pandit ib ranjit.pandit.ib at gmail.com
Fri Nov 4 11:54:27 PST 2005


On 11/4/05, Grant Grundler <iod00d at hp.com> wrote:
> On Fri, Nov 04, 2005 at 10:19:52AM -0800, Grant Grundler wrote:
> ...
> > o The comments in "Recv operations" talk about "backpressure".
> >   Is this another way of saying the driver should drop packets once
> >   the "fairness threshold" is exceeded?
>
> Ranjot's slideset answered this question (I think):
> | o Slow receiver ports are stalled at sender side
> |   - combination of activity (LRU) and memory utilization used
> |     to detect slow receivers
> |   - sendmsg() to stalled destination port returns
> |     EWOULDBLOCK, application can retry
> |   - recvmsg() on a stalled port un-stalls it
>
> I'm having trouble reconciling previous "connectionless" and
> "transperent to user space" comments this this slide.
> Especially the "EWOULDBLOCK" return code.
>
> If a reciever can cause a sender to stall, it implies the packets
> will get dropped on the send side. This is a subtle change
> in behavior that I don't think any UDP application can assume.
> But I'm no networking protocol expert...

When the sender is stalled, the driver will backpressure the
application.. no packets will be dropped.

Since a UDP application assumes the underlying transport is
unrealiable it should not have any problems running on RDS.
On getting EWOUDBLOCK it will simply retry.

>
> thanks,
> grant
> _______________________________________________
> openib-general mailing list
> openib-general at openib.org
> http://openib.org/mailman/listinfo/openib-general
>
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
>



More information about the general mailing list