mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 09:13:38 +00:00
rxrpc: Add a tracepoint for aborts being proposed
Add a tracepoint to rxrpc to trace the proposal of an abort. The abort is performed asynchronously by the I/O thread. Signed-off-by: David Howells <dhowells@redhat.com> cc: Marc Dionne <marc.dionne@auristor.com> cc: Simon Horman <horms@kernel.org> cc: linux-afs@lists.infradead.org Link: https://patch.msgid.link/726356.1730898045@warthog.procyon.org.uk Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
d9ccb18f83
commit
8b9a7bd4d6
@ -773,6 +773,31 @@ TRACE_EVENT(rxrpc_rx_done,
|
||||
TP_printk("r=%d a=%d", __entry->result, __entry->abort_code)
|
||||
);
|
||||
|
||||
TRACE_EVENT(rxrpc_abort_call,
|
||||
TP_PROTO(const struct rxrpc_call *call, int abort_code),
|
||||
|
||||
TP_ARGS(call, abort_code),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(unsigned int, call_nr)
|
||||
__field(enum rxrpc_abort_reason, why)
|
||||
__field(int, abort_code)
|
||||
__field(int, error)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->call_nr = call->debug_id;
|
||||
__entry->why = call->send_abort_why;
|
||||
__entry->abort_code = abort_code;
|
||||
__entry->error = call->send_abort_err;
|
||||
),
|
||||
|
||||
TP_printk("c=%08x a=%d e=%d %s",
|
||||
__entry->call_nr,
|
||||
__entry->abort_code, __entry->error,
|
||||
__print_symbolic(__entry->why, rxrpc_abort_reasons))
|
||||
);
|
||||
|
||||
TRACE_EVENT(rxrpc_abort,
|
||||
TP_PROTO(unsigned int call_nr, enum rxrpc_abort_reason why,
|
||||
u32 cid, u32 call_id, rxrpc_seq_t seq, int abort_code, int error),
|
||||
|
@ -29,6 +29,7 @@ bool rxrpc_propose_abort(struct rxrpc_call *call, s32 abort_code, int error,
|
||||
call->send_abort_why = why;
|
||||
call->send_abort_err = error;
|
||||
call->send_abort_seq = 0;
|
||||
trace_rxrpc_abort_call(call, abort_code);
|
||||
/* Request abort locklessly vs rxrpc_input_call_event(). */
|
||||
smp_store_release(&call->send_abort, abort_code);
|
||||
rxrpc_poke_call(call, rxrpc_call_poke_abort);
|
||||
|
Loading…
Reference in New Issue
Block a user