[rds-devel] [PATCH] RDS: waking poll waiters
Vladimir Sokolovsky
vlad at dev.mellanox.co.il
Tue Jun 26 09:24:30 PDT 2007
Vladimir Sokolovsky wrote:
> Hi Zach,
> Here is the waking poll waiters patch, updated following your comments:
>
> RDS: rds_poll() always returns POLLOUT. If you try to send and get
> EWOULDBLOCK because the remote receiver is congested then you don't get
> to wait for POLLOUT to be raised before sending again -- it's always
> raised. This is worked around by implementing some kind of exponential
> back-off while retrying the send. This can be done by increasing the
> timeout given to poll(). At each poll() timeout expiry the send is
> tried again.
>
> This idea of waking poll() waiters on congestion notification hopes to
> cut down on the latency between when the send could succeed and when the
> poll() timeout hits and the send is retried. If we receive a congestion
> bitmap update from the remote node we wake poll() waiters, giving them a
> chance to retry their send.
>
> Signed-off-by: Vladimir Sokolovsky <vlad at mellanox.co.il>
>
Hi,
OFED-1.2-20070626-0917 includes the patch above:
http://www.openfabrics.org/builds/ofed-1.2/OFED-1.2-20070626-0917.tgz
Regards,
Vladimir
More information about the rds-devel
mailing list