Skip to content

Commit 9c7c0bb

Browse files
committed
rxrpc: Move client call connection to the I/O thread
jira LE-1907 Rebuild_History Non-Buildable kernel-rt-5.14.0-284.30.1.rt14.315.el9_2 commit-author David Howells <[email protected]> commit 9d35d88 Empty-Commit: Cherry-Pick Conflicts during history rebuild. Will be included in final tarball splat. Ref for failed cherry-pick at: ciq/ciq_backports/kernel-rt-5.14.0-284.30.1.rt14.315.el9_2/9d35d880.failed Move the connection setup of client calls to the I/O thread so that a whole load of locking and barrierage can be eliminated. This necessitates the app thread waiting for connection to complete before it can begin encrypting data. This also completes the fix for a race that exists between call connection and call disconnection whereby the data transmission code adds the call to the peer error distribution list after the call has been disconnected (say by the rxrpc socket getting closed). The fix is to complete the process of moving call connection, data transmission and call disconnection into the I/O thread and thus forcibly serialising them. Note that the issue may predate the overhaul to an I/O thread model that were included in the merge window for v6.2, but the timing is very much changed by the change given below. Fixes: cf37b59 ("rxrpc: Move DATA transmission into call processor work item") Reported-by: [email protected] Signed-off-by: David Howells <[email protected]> cc: Marc Dionne <[email protected]> cc: [email protected] (cherry picked from commit 9d35d88) Signed-off-by: Jonathan Maple <[email protected]> # Conflicts: # include/trace/events/rxrpc.h # net/rxrpc/ar-internal.h # net/rxrpc/call_object.c # net/rxrpc/call_state.c # net/rxrpc/conn_client.c # net/rxrpc/conn_event.c # net/rxrpc/conn_object.c # net/rxrpc/io_thread.c # net/rxrpc/local_object.c # net/rxrpc/rxkad.c # net/rxrpc/security.c # net/rxrpc/sendmsg.c
1 parent d2a8b33 commit 9c7c0bb

File tree

1 file changed

+2179
-0
lines changed

1 file changed

+2179
-0
lines changed

0 commit comments

Comments
 (0)