linux/net/rxrpc
David Howells cf37b59875 rxrpc: Move DATA transmission into call processor work item
Move DATA transmission into the call processor work item.  In a future
patch, this will be called from the I/O thread rather than being itsown
work item.

This will allow DATA transmission to be driven directly by incoming ACKs,
pokes and timers as those are processed.

The Tx queue is also split: The queue of packets prepared by sendmsg is now
places in call->tx_sendmsg and the packet dispatcher decants the packets
into call->tx_buffer as space becomes available in the transmission
window.  This allows sendmsg to run ahead of the available space to try and
prevent an underflow in transmission.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
2022-12-01 13:36:41 +00:00
..
af_rxrpc.c rxrpc: Don't use sk->sk_receive_queue.lock to guard socket state changes 2022-12-01 13:36:41 +00:00
ar-internal.h rxrpc: Move DATA transmission into call processor work item 2022-12-01 13:36:41 +00:00
call_accept.c rxrpc: Copy client call parameters into rxrpc_call earlier 2022-12-01 13:36:41 +00:00
call_event.c rxrpc: Move DATA transmission into call processor work item 2022-12-01 13:36:41 +00:00
call_object.c rxrpc: Move DATA transmission into call processor work item 2022-12-01 13:36:41 +00:00
conn_client.c rxrpc: Copy client call parameters into rxrpc_call earlier 2022-12-01 13:36:41 +00:00
conn_event.c rxrpc: Don't hold a ref for connection workqueue 2022-12-01 13:36:40 +00:00
conn_object.c rxrpc: Don't hold a ref for connection workqueue 2022-12-01 13:36:40 +00:00
conn_service.c rxrpc: Don't hold a ref for connection workqueue 2022-12-01 13:36:40 +00:00
input.c rxrpc: Implement a mechanism to send an event notification to a call 2022-12-01 13:36:41 +00:00
insecure.c rxrpc: Don't use a ring buffer for call Tx queue 2022-11-08 16:42:28 +00:00
io_thread.c rxrpc: Copy client call parameters into rxrpc_call earlier 2022-12-01 13:36:41 +00:00
Kconfig rxrpc: Implement an in-kernel rxperf server for testing purposes 2022-12-01 13:36:37 +00:00
key.c rxrpc: Drop rxrpc_conn_parameters from rxrpc_connection and rxrpc_bundle 2022-12-01 13:36:38 +00:00
local_event.c rxrpc: trace: Don't use __builtin_return_address for sk_buff tracing 2022-12-01 13:36:39 +00:00
local_object.c rxrpc: Implement a mechanism to send an event notification to a call 2022-12-01 13:36:41 +00:00
Makefile rxrpc: Split the receive code 2022-12-01 13:36:40 +00:00
misc.c rxrpc: Get rid of the Rx ring 2022-11-08 16:42:28 +00:00
net_ns.c rxrpc: Don't hold a ref for connection workqueue 2022-12-01 13:36:40 +00:00
output.c rxrpc: Move DATA transmission into call processor work item 2022-12-01 13:36:41 +00:00
peer_event.c rxrpc: Move error processing into the local endpoint I/O thread 2022-12-01 13:36:40 +00:00
peer_object.c rxrpc: trace: Don't use __builtin_return_address for rxrpc_peer tracing 2022-12-01 13:36:38 +00:00
proc.c rxrpc: Copy client call parameters into rxrpc_call earlier 2022-12-01 13:36:41 +00:00
protocol.h rxrpc: Clone received jumbo subpackets and queue separately 2022-11-08 16:42:28 +00:00
recvmsg.c rxrpc: Copy client call parameters into rxrpc_call earlier 2022-12-01 13:36:41 +00:00
rtt.c rxrpc: Fix _usecs_to_jiffies() by using usecs_to_jiffies() 2021-09-24 14:18:34 +01:00
rxkad.c rxrpc: Drop rxrpc_conn_parameters from rxrpc_connection and rxrpc_bundle 2022-12-01 13:36:38 +00:00
rxperf.c rxrpc: Implement an in-kernel rxperf server for testing purposes 2022-12-01 13:36:37 +00:00
security.c rxrpc: Copy client call parameters into rxrpc_call earlier 2022-12-01 13:36:41 +00:00
sendmsg.c rxrpc: Move DATA transmission into call processor work item 2022-12-01 13:36:41 +00:00
server_key.c rxrpc: Implement an in-kernel rxperf server for testing purposes 2022-12-01 13:36:37 +00:00
skbuff.c rxrpc: trace: Don't use __builtin_return_address for sk_buff tracing 2022-12-01 13:36:39 +00:00
sysctl.c rxrpc: Get rid of the Rx ring 2022-11-08 16:42:28 +00:00
txbuf.c rxrpc: Move DATA transmission into call processor work item 2022-12-01 13:36:41 +00:00
utils.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 36 2019-05-24 17:27:11 +02:00