rxrpc: Move call state changes from sendmsg to I/O thread
authorDavid Howells <dhowells@redhat.com>
Fri, 11 Nov 2022 08:35:36 +0000 (08:35 +0000)
committerDavid Howells <dhowells@redhat.com>
Fri, 6 Jan 2023 09:43:33 +0000 (09:43 +0000)
commit2d689424b6184535890c251f937ccf815fde9cd2
tree38560edb8802f3c02e30420a6de79456cdbbdf3b
parentd41b3f5b96881809c73f86e3ca436c9426610b7a
rxrpc: Move call state changes from sendmsg to I/O thread

Move all the call state changes that are made in rxrpc_sendmsg() to the I/O
thread.  This is a step towards removing the call state lock.

This requires the switch to the RXRPC_CALL_CLIENT_AWAIT_REPLY and
RXRPC_CALL_SERVER_SEND_REPLY states to be done when the last packet is
decanted from ->tx_sendmsg to ->tx_buffer in the I/O thread, not when it is
added to ->tx_sendmsg by sendmsg().

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
Documentation/networking/rxrpc.rst
net/rxrpc/call_event.c
net/rxrpc/sendmsg.c