[rds-devel] So what is RDS congestion ?
Richard Frank
richard.frank at oracle.com
Wed Nov 14 18:46:52 PST 2007
So what is RDS congestion ?
When an application is recving RDS messages, they are queued at the
socket. If the application is not draining these messages promptly then
they may queue at the socket up until so_rcvbuf limit is reached. If
so_rcvbuf limit is reached RDS sends a back pressure message (congestion
update) to the RDS sender node informing it to back pressure sends to
the specific destination. When an RDS sender attempts to send to a
congested recv socket the sender is back pressured via eagain.
A back pressured sender can either issue a blocking send and wait for
can wait in poll with pollin. When the recv socket is un-congested - due
to the process pulling off messages, a congestion update message is sent
to nodes with back pressured senders which results in waking poll
waiters with pollin.
More information about the rds-devel
mailing list