]> git.baikalelectronics.ru Git - kernel.git/commit
rxrpc: Schedule an ACK if the reply to a client call appears overdue
authorDavid Howells <dhowells@redhat.com>
Sat, 24 Sep 2016 17:05:27 +0000 (18:05 +0100)
committerDavid Howells <dhowells@redhat.com>
Sat, 24 Sep 2016 22:49:46 +0000 (23:49 +0100)
commit2c958e068ef2987a83ded323aab1275921432cdf
tree043b35c0ef2f2367018bb42ebfd2ab5b65c1e7cd
parentd5690d44a0b4847870254b4ce715300c95c57cc8
rxrpc: Schedule an ACK if the reply to a client call appears overdue

If we've sent all the request data in a client call but haven't seen any
sign of the reply data yet, schedule an ACK to be sent to the server to
find out if the reply data got lost.

If the server hasn't yet hard-ACK'd the request data, we send a PING ACK to
demand a response to find out whether we need to retransmit.

If the server says it has received all of the data, we send an IDLE ACK to
tell the server that we haven't received anything in the receive phase as
yet.

To make this work, a non-immediate PING ACK must carry a delay.  I've chosen
the same as the IDLE ACK for the moment.

Signed-off-by: David Howells <dhowells@redhat.com>
net/rxrpc/ar-internal.h
net/rxrpc/call_event.c
net/rxrpc/input.c
net/rxrpc/misc.c