[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