linux/net/rxrpc
David Howells 57af281e53 rxrpc: Tidy up abort generation infrastructure
Tidy up the abort generation infrastructure in the following ways:

 (1) Create an enum and string mapping table to list the reasons an abort
     might be generated in tracing.

 (2) Replace the 3-char string with the values from (1) in the places that
     use that to log the abort source.  This gets rid of a memcpy() in the
     tracepoint.

 (3) Subsume the rxrpc_rx_eproto tracepoint with the rxrpc_abort tracepoint
     and use values from (1) to indicate the trace reason.

 (4) Always make a call to an abort function at the point of the abort
     rather than stashing the values into variables and using goto to get
     to a place where it reported.  The C optimiser will collapse the calls
     together as appropriate.  The abort functions return a value that can
     be returned directly if appropriate.

Note that this extends into afs also at the points where that generates an
abort.  To aid with this, the afs sources need to #define
RXRPC_TRACE_ONLY_DEFINE_ENUMS before including the rxrpc tracing header
because they don't have access to the rxrpc internal structures that some
of the tracepoints make use of.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
2023-01-06 09:43:32 +00:00
..
af_rxrpc.c rxrpc: Remove the _bh annotation from all the spinlocks 2022-12-01 13:36:42 +00:00
ar-internal.h rxrpc: Tidy up abort generation infrastructure 2023-01-06 09:43:32 +00:00
call_accept.c rxrpc: Tidy up abort generation infrastructure 2023-01-06 09:43:32 +00:00
call_event.c rxrpc: Tidy up abort generation infrastructure 2023-01-06 09:43:32 +00:00
call_object.c rxrpc: Tidy up abort generation infrastructure 2023-01-06 09:43:32 +00:00
conn_client.c rxrpc: Make the local endpoint hold a ref on a connected call 2023-01-06 09:43:31 +00:00
conn_event.c rxrpc: Tidy up abort generation infrastructure 2023-01-06 09:43:32 +00:00
conn_object.c rxrpc: Implement a mechanism to send an event notification to a connection 2023-01-06 09:43:31 +00:00
conn_service.c rxrpc: Remove the _bh annotation from all the spinlocks 2022-12-01 13:36:42 +00:00
input.c rxrpc: Tidy up abort generation infrastructure 2023-01-06 09:43:32 +00:00
insecure.c rxrpc: Tidy up abort generation infrastructure 2023-01-06 09:43:32 +00:00
io_thread.c rxrpc: Tidy up abort generation infrastructure 2023-01-06 09:43:32 +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: Make the I/O thread take over the call and local processor work 2022-12-01 13:36:42 +00:00
local_object.c rxrpc: Implement a mechanism to send an event notification to a connection 2023-01-06 09:43:31 +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: Clean up connection abort 2023-01-06 09:43:32 +00:00
peer_event.c rxrpc: Fix locking issues in rxrpc_put_peer_locked() 2022-12-19 09:51:31 +00:00
peer_object.c rxrpc: Stash the network namespace pointer in rxrpc_local 2023-01-06 09:43:31 +00:00
proc.c rxrpc: Clean up connection abort 2023-01-06 09:43:32 +00:00
protocol.h rxrpc: Clone received jumbo subpackets and queue separately 2022-11-08 16:42:28 +00:00
recvmsg.c rxrpc: Tidy up abort generation infrastructure 2023-01-06 09:43:32 +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: Tidy up abort generation infrastructure 2023-01-06 09:43:32 +00:00
rxperf.c rxrpc: Tidy up abort generation infrastructure 2023-01-06 09:43:32 +00:00
security.c rxrpc: Tidy up abort generation infrastructure 2023-01-06 09:43:32 +00:00
sendmsg.c rxrpc: Tidy up abort generation infrastructure 2023-01-06 09:43:32 +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: Transmit ACKs at the point of generation 2022-12-01 13:36:43 +00:00
utils.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 36 2019-05-24 17:27:11 +02:00