^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-or-later */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /* AF_RXRPC tracepoints
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) * Copyright (C) 2016 Red Hat, Inc. All Rights Reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Written by David Howells (dhowells@redhat.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #undef TRACE_SYSTEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #define TRACE_SYSTEM rxrpc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #if !defined(_TRACE_RXRPC_H) || defined(TRACE_HEADER_MULTI_READ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define _TRACE_RXRPC_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #include <linux/tracepoint.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #include <linux/errqueue.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) * Define enums for tracing information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) * These should all be kept sorted, making it easier to match the string
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) * mapping tables further on.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) #ifndef __RXRPC_DECLARE_TRACE_ENUMS_ONCE_ONLY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #define __RXRPC_DECLARE_TRACE_ENUMS_ONCE_ONLY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) enum rxrpc_skb_trace {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) rxrpc_skb_cleaned,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) rxrpc_skb_freed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) rxrpc_skb_got,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) rxrpc_skb_lost,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) rxrpc_skb_new,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) rxrpc_skb_purged,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) rxrpc_skb_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) rxrpc_skb_rotated,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) rxrpc_skb_seen,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) rxrpc_skb_unshared,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) rxrpc_skb_unshared_nomem,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) enum rxrpc_local_trace {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) rxrpc_local_got,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) rxrpc_local_new,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) rxrpc_local_processing,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) rxrpc_local_put,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) rxrpc_local_queued,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) enum rxrpc_peer_trace {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) rxrpc_peer_got,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) rxrpc_peer_new,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) rxrpc_peer_processing,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) rxrpc_peer_put,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) enum rxrpc_conn_trace {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) rxrpc_conn_got,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) rxrpc_conn_new_client,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) rxrpc_conn_new_service,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) rxrpc_conn_put_client,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) rxrpc_conn_put_service,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) rxrpc_conn_queued,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) rxrpc_conn_reap_service,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) rxrpc_conn_seen,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) enum rxrpc_client_trace {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) rxrpc_client_activate_chans,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) rxrpc_client_alloc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) rxrpc_client_chan_activate,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) rxrpc_client_chan_disconnect,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) rxrpc_client_chan_pass,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) rxrpc_client_chan_wait_failed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) rxrpc_client_cleanup,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) rxrpc_client_discard,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) rxrpc_client_duplicate,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) rxrpc_client_exposed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) rxrpc_client_replace,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) rxrpc_client_to_active,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) rxrpc_client_to_idle,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) enum rxrpc_call_trace {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) rxrpc_call_connected,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) rxrpc_call_error,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) rxrpc_call_got,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) rxrpc_call_got_kernel,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) rxrpc_call_got_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) rxrpc_call_got_userid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) rxrpc_call_new_client,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) rxrpc_call_new_service,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) rxrpc_call_put,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) rxrpc_call_put_kernel,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) rxrpc_call_put_noqueue,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) rxrpc_call_put_notimer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) rxrpc_call_put_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) rxrpc_call_put_userid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) rxrpc_call_queued,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) rxrpc_call_queued_ref,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) rxrpc_call_release,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) rxrpc_call_seen,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) enum rxrpc_transmit_trace {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) rxrpc_transmit_await_reply,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) rxrpc_transmit_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) rxrpc_transmit_queue,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) rxrpc_transmit_queue_last,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) rxrpc_transmit_rotate,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) rxrpc_transmit_rotate_last,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) rxrpc_transmit_wait,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) enum rxrpc_receive_trace {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) rxrpc_receive_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) rxrpc_receive_front,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) rxrpc_receive_incoming,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) rxrpc_receive_queue,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) rxrpc_receive_queue_last,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) rxrpc_receive_rotate,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) enum rxrpc_recvmsg_trace {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) rxrpc_recvmsg_cont,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) rxrpc_recvmsg_data_return,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) rxrpc_recvmsg_dequeue,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) rxrpc_recvmsg_enter,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) rxrpc_recvmsg_full,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) rxrpc_recvmsg_hole,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) rxrpc_recvmsg_next,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) rxrpc_recvmsg_requeue,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) rxrpc_recvmsg_return,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) rxrpc_recvmsg_terminal,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) rxrpc_recvmsg_to_be_accepted,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) rxrpc_recvmsg_wait,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) enum rxrpc_rtt_tx_trace {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) rxrpc_rtt_tx_cancel,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) rxrpc_rtt_tx_data,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) rxrpc_rtt_tx_no_slot,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) rxrpc_rtt_tx_ping,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) enum rxrpc_rtt_rx_trace {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) rxrpc_rtt_rx_cancel,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) rxrpc_rtt_rx_lost,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) rxrpc_rtt_rx_obsolete,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) rxrpc_rtt_rx_ping_response,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) rxrpc_rtt_rx_requested_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) enum rxrpc_timer_trace {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) rxrpc_timer_begin,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) rxrpc_timer_exp_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) rxrpc_timer_exp_hard,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) rxrpc_timer_exp_idle,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) rxrpc_timer_exp_keepalive,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) rxrpc_timer_exp_lost_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) rxrpc_timer_exp_normal,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) rxrpc_timer_exp_ping,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) rxrpc_timer_exp_resend,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) rxrpc_timer_expired,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) rxrpc_timer_init_for_reply,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) rxrpc_timer_init_for_send_reply,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) rxrpc_timer_restart,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) rxrpc_timer_set_for_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) rxrpc_timer_set_for_hard,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) rxrpc_timer_set_for_idle,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) rxrpc_timer_set_for_keepalive,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) rxrpc_timer_set_for_lost_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) rxrpc_timer_set_for_normal,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) rxrpc_timer_set_for_ping,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) rxrpc_timer_set_for_resend,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) rxrpc_timer_set_for_send,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) enum rxrpc_propose_ack_trace {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) rxrpc_propose_ack_client_tx_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) rxrpc_propose_ack_input_data,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) rxrpc_propose_ack_ping_for_check_life,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) rxrpc_propose_ack_ping_for_keepalive,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) rxrpc_propose_ack_ping_for_lost_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) rxrpc_propose_ack_ping_for_lost_reply,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) rxrpc_propose_ack_ping_for_params,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) rxrpc_propose_ack_processing_op,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) rxrpc_propose_ack_respond_to_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) rxrpc_propose_ack_respond_to_ping,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) rxrpc_propose_ack_retry_tx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) rxrpc_propose_ack_rotate_rx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) rxrpc_propose_ack_terminal_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) enum rxrpc_propose_ack_outcome {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) rxrpc_propose_ack_subsume,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) rxrpc_propose_ack_update,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) rxrpc_propose_ack_use,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) enum rxrpc_congest_change {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) rxrpc_cong_begin_retransmission,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) rxrpc_cong_cleared_nacks,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) rxrpc_cong_new_low_nack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) rxrpc_cong_no_change,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) rxrpc_cong_progress,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) rxrpc_cong_retransmit_again,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) rxrpc_cong_rtt_window_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) rxrpc_cong_saw_nack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) enum rxrpc_tx_point {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) rxrpc_tx_point_call_abort,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) rxrpc_tx_point_call_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) rxrpc_tx_point_call_data_frag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) rxrpc_tx_point_call_data_nofrag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) rxrpc_tx_point_call_final_resend,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) rxrpc_tx_point_conn_abort,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) rxrpc_tx_point_rxkad_challenge,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) rxrpc_tx_point_rxkad_response,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) rxrpc_tx_point_reject,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) rxrpc_tx_point_version_keepalive,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) rxrpc_tx_point_version_reply,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) #endif /* end __RXRPC_DECLARE_TRACE_ENUMS_ONCE_ONLY */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) * Declare tracing information enums and their string mappings for display.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) #define rxrpc_skb_traces \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) EM(rxrpc_skb_cleaned, "CLN") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) EM(rxrpc_skb_freed, "FRE") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) EM(rxrpc_skb_got, "GOT") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) EM(rxrpc_skb_lost, "*L*") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) EM(rxrpc_skb_new, "NEW") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) EM(rxrpc_skb_purged, "PUR") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) EM(rxrpc_skb_received, "RCV") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) EM(rxrpc_skb_rotated, "ROT") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) EM(rxrpc_skb_seen, "SEE") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) EM(rxrpc_skb_unshared, "UNS") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) E_(rxrpc_skb_unshared_nomem, "US0")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) #define rxrpc_local_traces \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) EM(rxrpc_local_got, "GOT") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) EM(rxrpc_local_new, "NEW") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) EM(rxrpc_local_processing, "PRO") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) EM(rxrpc_local_put, "PUT") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) E_(rxrpc_local_queued, "QUE")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) #define rxrpc_peer_traces \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) EM(rxrpc_peer_got, "GOT") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) EM(rxrpc_peer_new, "NEW") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) EM(rxrpc_peer_processing, "PRO") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) E_(rxrpc_peer_put, "PUT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) #define rxrpc_conn_traces \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) EM(rxrpc_conn_got, "GOT") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) EM(rxrpc_conn_new_client, "NWc") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) EM(rxrpc_conn_new_service, "NWs") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) EM(rxrpc_conn_put_client, "PTc") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) EM(rxrpc_conn_put_service, "PTs") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) EM(rxrpc_conn_queued, "QUE") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) EM(rxrpc_conn_reap_service, "RPs") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) E_(rxrpc_conn_seen, "SEE")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) #define rxrpc_client_traces \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) EM(rxrpc_client_activate_chans, "Activa") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) EM(rxrpc_client_alloc, "Alloc ") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) EM(rxrpc_client_chan_activate, "ChActv") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) EM(rxrpc_client_chan_disconnect, "ChDisc") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) EM(rxrpc_client_chan_pass, "ChPass") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) EM(rxrpc_client_chan_wait_failed, "ChWtFl") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) EM(rxrpc_client_cleanup, "Clean ") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) EM(rxrpc_client_discard, "Discar") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) EM(rxrpc_client_duplicate, "Duplic") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) EM(rxrpc_client_exposed, "Expose") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) EM(rxrpc_client_replace, "Replac") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) EM(rxrpc_client_to_active, "->Actv") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) E_(rxrpc_client_to_idle, "->Idle")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) #define rxrpc_call_traces \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) EM(rxrpc_call_connected, "CON") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) EM(rxrpc_call_error, "*E*") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) EM(rxrpc_call_got, "GOT") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) EM(rxrpc_call_got_kernel, "Gke") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) EM(rxrpc_call_got_timer, "GTM") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) EM(rxrpc_call_got_userid, "Gus") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) EM(rxrpc_call_new_client, "NWc") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) EM(rxrpc_call_new_service, "NWs") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) EM(rxrpc_call_put, "PUT") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) EM(rxrpc_call_put_kernel, "Pke") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) EM(rxrpc_call_put_noqueue, "PnQ") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) EM(rxrpc_call_put_notimer, "PnT") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) EM(rxrpc_call_put_timer, "PTM") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) EM(rxrpc_call_put_userid, "Pus") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) EM(rxrpc_call_queued, "QUE") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) EM(rxrpc_call_queued_ref, "QUR") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) EM(rxrpc_call_release, "RLS") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) E_(rxrpc_call_seen, "SEE")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) #define rxrpc_transmit_traces \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) EM(rxrpc_transmit_await_reply, "AWR") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) EM(rxrpc_transmit_end, "END") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) EM(rxrpc_transmit_queue, "QUE") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) EM(rxrpc_transmit_queue_last, "QLS") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) EM(rxrpc_transmit_rotate, "ROT") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) EM(rxrpc_transmit_rotate_last, "RLS") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) E_(rxrpc_transmit_wait, "WAI")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) #define rxrpc_receive_traces \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) EM(rxrpc_receive_end, "END") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) EM(rxrpc_receive_front, "FRN") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) EM(rxrpc_receive_incoming, "INC") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) EM(rxrpc_receive_queue, "QUE") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) EM(rxrpc_receive_queue_last, "QLS") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) E_(rxrpc_receive_rotate, "ROT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) #define rxrpc_recvmsg_traces \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) EM(rxrpc_recvmsg_cont, "CONT") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) EM(rxrpc_recvmsg_data_return, "DATA") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) EM(rxrpc_recvmsg_dequeue, "DEQU") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) EM(rxrpc_recvmsg_enter, "ENTR") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) EM(rxrpc_recvmsg_full, "FULL") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) EM(rxrpc_recvmsg_hole, "HOLE") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) EM(rxrpc_recvmsg_next, "NEXT") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) EM(rxrpc_recvmsg_requeue, "REQU") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) EM(rxrpc_recvmsg_return, "RETN") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) EM(rxrpc_recvmsg_terminal, "TERM") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) EM(rxrpc_recvmsg_to_be_accepted, "TBAC") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) E_(rxrpc_recvmsg_wait, "WAIT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) #define rxrpc_rtt_tx_traces \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) EM(rxrpc_rtt_tx_cancel, "CNCE") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) EM(rxrpc_rtt_tx_data, "DATA") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) EM(rxrpc_rtt_tx_no_slot, "FULL") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) E_(rxrpc_rtt_tx_ping, "PING")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) #define rxrpc_rtt_rx_traces \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) EM(rxrpc_rtt_rx_cancel, "CNCL") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) EM(rxrpc_rtt_rx_obsolete, "OBSL") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) EM(rxrpc_rtt_rx_lost, "LOST") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) EM(rxrpc_rtt_rx_ping_response, "PONG") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) E_(rxrpc_rtt_rx_requested_ack, "RACK")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) #define rxrpc_timer_traces \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) EM(rxrpc_timer_begin, "Begin ") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) EM(rxrpc_timer_expired, "*EXPR*") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) EM(rxrpc_timer_exp_ack, "ExpAck") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) EM(rxrpc_timer_exp_hard, "ExpHrd") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) EM(rxrpc_timer_exp_idle, "ExpIdl") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) EM(rxrpc_timer_exp_keepalive, "ExpKA ") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) EM(rxrpc_timer_exp_lost_ack, "ExpLoA") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) EM(rxrpc_timer_exp_normal, "ExpNml") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) EM(rxrpc_timer_exp_ping, "ExpPng") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) EM(rxrpc_timer_exp_resend, "ExpRsn") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) EM(rxrpc_timer_init_for_reply, "IniRpl") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) EM(rxrpc_timer_init_for_send_reply, "SndRpl") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) EM(rxrpc_timer_restart, "Restrt") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) EM(rxrpc_timer_set_for_ack, "SetAck") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) EM(rxrpc_timer_set_for_hard, "SetHrd") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) EM(rxrpc_timer_set_for_idle, "SetIdl") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) EM(rxrpc_timer_set_for_keepalive, "KeepAl") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) EM(rxrpc_timer_set_for_lost_ack, "SetLoA") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) EM(rxrpc_timer_set_for_normal, "SetNml") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) EM(rxrpc_timer_set_for_ping, "SetPng") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) EM(rxrpc_timer_set_for_resend, "SetRTx") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) E_(rxrpc_timer_set_for_send, "SetSnd")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) #define rxrpc_propose_ack_traces \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) EM(rxrpc_propose_ack_client_tx_end, "ClTxEnd") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) EM(rxrpc_propose_ack_input_data, "DataIn ") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) EM(rxrpc_propose_ack_ping_for_check_life, "ChkLife") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) EM(rxrpc_propose_ack_ping_for_keepalive, "KeepAlv") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) EM(rxrpc_propose_ack_ping_for_lost_ack, "LostAck") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) EM(rxrpc_propose_ack_ping_for_lost_reply, "LostRpl") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) EM(rxrpc_propose_ack_ping_for_params, "Params ") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) EM(rxrpc_propose_ack_processing_op, "ProcOp ") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) EM(rxrpc_propose_ack_respond_to_ack, "Rsp2Ack") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) EM(rxrpc_propose_ack_respond_to_ping, "Rsp2Png") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) EM(rxrpc_propose_ack_retry_tx, "RetryTx") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) EM(rxrpc_propose_ack_rotate_rx, "RxAck ") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) E_(rxrpc_propose_ack_terminal_ack, "ClTerm ")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) #define rxrpc_propose_ack_outcomes \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) EM(rxrpc_propose_ack_subsume, " Subsume") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) EM(rxrpc_propose_ack_update, " Update") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) E_(rxrpc_propose_ack_use, " New")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387) #define rxrpc_congest_modes \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) EM(RXRPC_CALL_CONGEST_AVOIDANCE, "CongAvoid") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) EM(RXRPC_CALL_FAST_RETRANSMIT, "FastReTx ") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) EM(RXRPC_CALL_PACKET_LOSS, "PktLoss ") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) E_(RXRPC_CALL_SLOW_START, "SlowStart")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) #define rxrpc_congest_changes \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394) EM(rxrpc_cong_begin_retransmission, " Retrans") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) EM(rxrpc_cong_cleared_nacks, " Cleared") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) EM(rxrpc_cong_new_low_nack, " NewLowN") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) EM(rxrpc_cong_no_change, " -") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) EM(rxrpc_cong_progress, " Progres") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) EM(rxrpc_cong_retransmit_again, " ReTxAgn") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) EM(rxrpc_cong_rtt_window_end, " RttWinE") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) E_(rxrpc_cong_saw_nack, " SawNack")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) #define rxrpc_pkts \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) EM(0, "?00") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) EM(RXRPC_PACKET_TYPE_DATA, "DATA") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) EM(RXRPC_PACKET_TYPE_ACK, "ACK") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) EM(RXRPC_PACKET_TYPE_BUSY, "BUSY") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408) EM(RXRPC_PACKET_TYPE_ABORT, "ABORT") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) EM(RXRPC_PACKET_TYPE_ACKALL, "ACKALL") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) EM(RXRPC_PACKET_TYPE_CHALLENGE, "CHALL") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) EM(RXRPC_PACKET_TYPE_RESPONSE, "RESP") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) EM(RXRPC_PACKET_TYPE_DEBUG, "DEBUG") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) EM(9, "?09") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) EM(10, "?10") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) EM(11, "?11") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) EM(12, "?12") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) EM(RXRPC_PACKET_TYPE_VERSION, "VERSION") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) EM(14, "?14") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) E_(15, "?15")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421) #define rxrpc_ack_names \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) EM(0, "-0-") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) EM(RXRPC_ACK_REQUESTED, "REQ") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) EM(RXRPC_ACK_DUPLICATE, "DUP") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) EM(RXRPC_ACK_OUT_OF_SEQUENCE, "OOS") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) EM(RXRPC_ACK_EXCEEDS_WINDOW, "WIN") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) EM(RXRPC_ACK_NOSPACE, "MEM") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428) EM(RXRPC_ACK_PING, "PNG") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429) EM(RXRPC_ACK_PING_RESPONSE, "PNR") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) EM(RXRPC_ACK_DELAY, "DLY") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431) EM(RXRPC_ACK_IDLE, "IDL") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) E_(RXRPC_ACK__INVALID, "-?-")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434) #define rxrpc_completions \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435) EM(RXRPC_CALL_SUCCEEDED, "Succeeded") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436) EM(RXRPC_CALL_REMOTELY_ABORTED, "RemoteAbort") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) EM(RXRPC_CALL_LOCALLY_ABORTED, "LocalAbort") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438) EM(RXRPC_CALL_LOCAL_ERROR, "LocalError") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) E_(RXRPC_CALL_NETWORK_ERROR, "NetError")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) #define rxrpc_tx_points \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442) EM(rxrpc_tx_point_call_abort, "CallAbort") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443) EM(rxrpc_tx_point_call_ack, "CallAck") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) EM(rxrpc_tx_point_call_data_frag, "CallDataFrag") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445) EM(rxrpc_tx_point_call_data_nofrag, "CallDataNofrag") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) EM(rxrpc_tx_point_call_final_resend, "CallFinalResend") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) EM(rxrpc_tx_point_conn_abort, "ConnAbort") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) EM(rxrpc_tx_point_reject, "Reject") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449) EM(rxrpc_tx_point_rxkad_challenge, "RxkadChall") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) EM(rxrpc_tx_point_rxkad_response, "RxkadResp") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) EM(rxrpc_tx_point_version_keepalive, "VerKeepalive") \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452) E_(rxrpc_tx_point_version_reply, "VerReply")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455) * Export enum symbols via userspace.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) #undef EM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458) #undef E_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459) #define EM(a, b) TRACE_DEFINE_ENUM(a);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460) #define E_(a, b) TRACE_DEFINE_ENUM(a);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462) rxrpc_skb_traces;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463) rxrpc_local_traces;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464) rxrpc_conn_traces;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465) rxrpc_client_traces;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) rxrpc_call_traces;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467) rxrpc_transmit_traces;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468) rxrpc_receive_traces;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469) rxrpc_recvmsg_traces;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470) rxrpc_rtt_tx_traces;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) rxrpc_rtt_rx_traces;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472) rxrpc_timer_traces;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473) rxrpc_propose_ack_traces;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474) rxrpc_propose_ack_outcomes;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475) rxrpc_congest_modes;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476) rxrpc_congest_changes;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) rxrpc_tx_points;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480) * Now redefine the EM() and E_() macros to map the enums to the strings that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) * will be printed in the output.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483) #undef EM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484) #undef E_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485) #define EM(a, b) { a, b },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486) #define E_(a, b) { a, b }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488) TRACE_EVENT(rxrpc_local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489) TP_PROTO(unsigned int local_debug_id, enum rxrpc_local_trace op,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) int usage, const void *where),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492) TP_ARGS(local_debug_id, op, usage, where),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495) __field(unsigned int, local )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 496) __field(int, op )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 497) __field(int, usage )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 498) __field(const void *, where )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 499) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 500)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 501) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 502) __entry->local = local_debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 503) __entry->op = op;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 504) __entry->usage = usage;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 505) __entry->where = where;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 506) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 507)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 508) TP_printk("L=%08x %s u=%d sp=%pSR",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 509) __entry->local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 510) __print_symbolic(__entry->op, rxrpc_local_traces),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 511) __entry->usage,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 512) __entry->where)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 513) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 514)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 515) TRACE_EVENT(rxrpc_peer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 516) TP_PROTO(unsigned int peer_debug_id, enum rxrpc_peer_trace op,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 517) int usage, const void *where),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 518)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 519) TP_ARGS(peer_debug_id, op, usage, where),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 520)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 521) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 522) __field(unsigned int, peer )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 523) __field(int, op )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 524) __field(int, usage )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 525) __field(const void *, where )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 526) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 527)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 528) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 529) __entry->peer = peer_debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 530) __entry->op = op;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 531) __entry->usage = usage;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 532) __entry->where = where;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 533) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 534)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 535) TP_printk("P=%08x %s u=%d sp=%pSR",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 536) __entry->peer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 537) __print_symbolic(__entry->op, rxrpc_peer_traces),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 538) __entry->usage,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 539) __entry->where)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 540) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 541)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 542) TRACE_EVENT(rxrpc_conn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 543) TP_PROTO(unsigned int conn_debug_id, enum rxrpc_conn_trace op,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 544) int usage, const void *where),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 545)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 546) TP_ARGS(conn_debug_id, op, usage, where),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 547)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 548) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 549) __field(unsigned int, conn )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 550) __field(int, op )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 551) __field(int, usage )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 552) __field(const void *, where )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 553) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 554)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 555) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 556) __entry->conn = conn_debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 557) __entry->op = op;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 558) __entry->usage = usage;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 559) __entry->where = where;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 560) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 561)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 562) TP_printk("C=%08x %s u=%d sp=%pSR",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 563) __entry->conn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 564) __print_symbolic(__entry->op, rxrpc_conn_traces),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 565) __entry->usage,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 566) __entry->where)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 567) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 568)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 569) TRACE_EVENT(rxrpc_client,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 570) TP_PROTO(struct rxrpc_connection *conn, int channel,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 571) enum rxrpc_client_trace op),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 572)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 573) TP_ARGS(conn, channel, op),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 574)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 575) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 576) __field(unsigned int, conn )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 577) __field(u32, cid )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 578) __field(int, channel )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 579) __field(int, usage )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 580) __field(enum rxrpc_client_trace, op )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 581) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 582)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 583) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 584) __entry->conn = conn ? conn->debug_id : 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 585) __entry->channel = channel;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 586) __entry->usage = conn ? atomic_read(&conn->usage) : -2;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 587) __entry->op = op;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 588) __entry->cid = conn ? conn->proto.cid : 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 589) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 590)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 591) TP_printk("C=%08x h=%2d %s i=%08x u=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 592) __entry->conn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 593) __entry->channel,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 594) __print_symbolic(__entry->op, rxrpc_client_traces),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 595) __entry->cid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 596) __entry->usage)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 597) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 598)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 599) TRACE_EVENT(rxrpc_call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 600) TP_PROTO(unsigned int call_debug_id, enum rxrpc_call_trace op,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 601) int usage, const void *where, const void *aux),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 602)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 603) TP_ARGS(call_debug_id, op, usage, where, aux),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 604)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 605) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 606) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 607) __field(int, op )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 608) __field(int, usage )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 609) __field(const void *, where )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 610) __field(const void *, aux )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 611) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 612)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 613) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 614) __entry->call = call_debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 615) __entry->op = op;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 616) __entry->usage = usage;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 617) __entry->where = where;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 618) __entry->aux = aux;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 619) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 620)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 621) TP_printk("c=%08x %s u=%d sp=%pSR a=%p",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 622) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 623) __print_symbolic(__entry->op, rxrpc_call_traces),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 624) __entry->usage,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 625) __entry->where,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 626) __entry->aux)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 627) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 628)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 629) TRACE_EVENT(rxrpc_skb,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 630) TP_PROTO(struct sk_buff *skb, enum rxrpc_skb_trace op,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 631) int usage, int mod_count, u8 flags, const void *where),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 632)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 633) TP_ARGS(skb, op, usage, mod_count, flags, where),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 634)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 635) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 636) __field(struct sk_buff *, skb )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 637) __field(enum rxrpc_skb_trace, op )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 638) __field(u8, flags )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 639) __field(int, usage )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 640) __field(int, mod_count )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 641) __field(const void *, where )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 642) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 643)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 644) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 645) __entry->skb = skb;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 646) __entry->flags = flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 647) __entry->op = op;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 648) __entry->usage = usage;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 649) __entry->mod_count = mod_count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 650) __entry->where = where;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 651) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 652)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 653) TP_printk("s=%p %cx %s u=%d m=%d p=%pSR",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 654) __entry->skb,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 655) __entry->flags & RXRPC_SKB_TX_BUFFER ? 'T' : 'R',
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 656) __print_symbolic(__entry->op, rxrpc_skb_traces),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 657) __entry->usage,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 658) __entry->mod_count,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 659) __entry->where)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 660) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 661)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 662) TRACE_EVENT(rxrpc_rx_packet,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 663) TP_PROTO(struct rxrpc_skb_priv *sp),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 664)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 665) TP_ARGS(sp),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 666)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 667) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 668) __field_struct(struct rxrpc_host_header, hdr )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 669) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 670)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 671) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 672) memcpy(&__entry->hdr, &sp->hdr, sizeof(__entry->hdr));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 673) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 674)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 675) TP_printk("%08x:%08x:%08x:%04x %08x %08x %02x %02x %s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 676) __entry->hdr.epoch, __entry->hdr.cid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 677) __entry->hdr.callNumber, __entry->hdr.serviceId,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 678) __entry->hdr.serial, __entry->hdr.seq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 679) __entry->hdr.type, __entry->hdr.flags,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 680) __entry->hdr.type <= 15 ?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 681) __print_symbolic(__entry->hdr.type, rxrpc_pkts) : "?UNK")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 682) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 683)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 684) TRACE_EVENT(rxrpc_rx_done,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 685) TP_PROTO(int result, int abort_code),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 686)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 687) TP_ARGS(result, abort_code),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 688)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 689) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 690) __field(int, result )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 691) __field(int, abort_code )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 692) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 693)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 694) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 695) __entry->result = result;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 696) __entry->abort_code = abort_code;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 697) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 698)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 699) TP_printk("r=%d a=%d", __entry->result, __entry->abort_code)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 700) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 701)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 702) TRACE_EVENT(rxrpc_abort,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 703) TP_PROTO(unsigned int call_nr, const char *why, u32 cid, u32 call_id,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 704) rxrpc_seq_t seq, int abort_code, int error),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 705)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 706) TP_ARGS(call_nr, why, cid, call_id, seq, abort_code, error),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 707)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 708) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 709) __field(unsigned int, call_nr )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 710) __array(char, why, 4 )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 711) __field(u32, cid )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 712) __field(u32, call_id )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 713) __field(rxrpc_seq_t, seq )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 714) __field(int, abort_code )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 715) __field(int, error )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 716) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 717)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 718) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 719) memcpy(__entry->why, why, 4);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 720) __entry->call_nr = call_nr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 721) __entry->cid = cid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 722) __entry->call_id = call_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 723) __entry->abort_code = abort_code;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 724) __entry->error = error;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 725) __entry->seq = seq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 726) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 727)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 728) TP_printk("c=%08x %08x:%08x s=%u a=%d e=%d %s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 729) __entry->call_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 730) __entry->cid, __entry->call_id, __entry->seq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 731) __entry->abort_code, __entry->error, __entry->why)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 732) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 733)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 734) TRACE_EVENT(rxrpc_call_complete,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 735) TP_PROTO(struct rxrpc_call *call),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 736)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 737) TP_ARGS(call),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 738)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 739) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 740) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 741) __field(enum rxrpc_call_completion, compl )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 742) __field(int, error )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 743) __field(u32, abort_code )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 744) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 745)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 746) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 747) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 748) __entry->compl = call->completion;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 749) __entry->error = call->error;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 750) __entry->abort_code = call->abort_code;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 751) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 752)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 753) TP_printk("c=%08x %s r=%d ac=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 754) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 755) __print_symbolic(__entry->compl, rxrpc_completions),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 756) __entry->error,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 757) __entry->abort_code)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 758) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 759)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 760) TRACE_EVENT(rxrpc_transmit,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 761) TP_PROTO(struct rxrpc_call *call, enum rxrpc_transmit_trace why),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 762)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 763) TP_ARGS(call, why),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 764)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 765) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 766) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 767) __field(enum rxrpc_transmit_trace, why )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 768) __field(rxrpc_seq_t, tx_hard_ack )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 769) __field(rxrpc_seq_t, tx_top )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 770) __field(int, tx_winsize )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 771) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 772)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 773) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 774) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 775) __entry->why = why;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 776) __entry->tx_hard_ack = call->tx_hard_ack;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 777) __entry->tx_top = call->tx_top;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 778) __entry->tx_winsize = call->tx_winsize;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 779) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 780)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 781) TP_printk("c=%08x %s f=%08x n=%u/%u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 782) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 783) __print_symbolic(__entry->why, rxrpc_transmit_traces),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 784) __entry->tx_hard_ack + 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 785) __entry->tx_top - __entry->tx_hard_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 786) __entry->tx_winsize)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 787) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 788)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 789) TRACE_EVENT(rxrpc_rx_data,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 790) TP_PROTO(unsigned int call, rxrpc_seq_t seq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 791) rxrpc_serial_t serial, u8 flags, u8 anno),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 792)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 793) TP_ARGS(call, seq, serial, flags, anno),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 794)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 795) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 796) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 797) __field(rxrpc_seq_t, seq )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 798) __field(rxrpc_serial_t, serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 799) __field(u8, flags )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 800) __field(u8, anno )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 801) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 802)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 803) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 804) __entry->call = call;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 805) __entry->seq = seq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 806) __entry->serial = serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 807) __entry->flags = flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 808) __entry->anno = anno;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 809) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 810)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 811) TP_printk("c=%08x DATA %08x q=%08x fl=%02x a=%02x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 812) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 813) __entry->serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 814) __entry->seq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 815) __entry->flags,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 816) __entry->anno)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 817) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 818)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 819) TRACE_EVENT(rxrpc_rx_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 820) TP_PROTO(struct rxrpc_call *call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 821) rxrpc_serial_t serial, rxrpc_serial_t ack_serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 822) rxrpc_seq_t first, rxrpc_seq_t prev, u8 reason, u8 n_acks),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 823)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 824) TP_ARGS(call, serial, ack_serial, first, prev, reason, n_acks),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 825)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 826) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 827) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 828) __field(rxrpc_serial_t, serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 829) __field(rxrpc_serial_t, ack_serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 830) __field(rxrpc_seq_t, first )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 831) __field(rxrpc_seq_t, prev )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 832) __field(u8, reason )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 833) __field(u8, n_acks )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 834) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 835)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 836) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 837) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 838) __entry->serial = serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 839) __entry->ack_serial = ack_serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 840) __entry->first = first;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 841) __entry->prev = prev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 842) __entry->reason = reason;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 843) __entry->n_acks = n_acks;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 844) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 845)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 846) TP_printk("c=%08x %08x %s r=%08x f=%08x p=%08x n=%u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 847) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 848) __entry->serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 849) __print_symbolic(__entry->reason, rxrpc_ack_names),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 850) __entry->ack_serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 851) __entry->first,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 852) __entry->prev,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 853) __entry->n_acks)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 854) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 855)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 856) TRACE_EVENT(rxrpc_rx_abort,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 857) TP_PROTO(struct rxrpc_call *call, rxrpc_serial_t serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 858) u32 abort_code),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 859)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 860) TP_ARGS(call, serial, abort_code),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 861)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 862) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 863) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 864) __field(rxrpc_serial_t, serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 865) __field(u32, abort_code )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 866) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 867)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 868) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 869) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 870) __entry->serial = serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 871) __entry->abort_code = abort_code;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 872) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 873)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 874) TP_printk("c=%08x ABORT %08x ac=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 875) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 876) __entry->serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 877) __entry->abort_code)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 878) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 879)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 880) TRACE_EVENT(rxrpc_rx_rwind_change,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 881) TP_PROTO(struct rxrpc_call *call, rxrpc_serial_t serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 882) u32 rwind, bool wake),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 883)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 884) TP_ARGS(call, serial, rwind, wake),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 885)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 886) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 887) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 888) __field(rxrpc_serial_t, serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 889) __field(u32, rwind )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 890) __field(bool, wake )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 891) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 892)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 893) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 894) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 895) __entry->serial = serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 896) __entry->rwind = rwind;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 897) __entry->wake = wake;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 898) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 899)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 900) TP_printk("c=%08x %08x rw=%u%s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 901) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 902) __entry->serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 903) __entry->rwind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 904) __entry->wake ? " wake" : "")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 905) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 906)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 907) TRACE_EVENT(rxrpc_tx_packet,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 908) TP_PROTO(unsigned int call_id, struct rxrpc_wire_header *whdr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 909) enum rxrpc_tx_point where),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 910)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 911) TP_ARGS(call_id, whdr, where),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 912)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 913) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 914) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 915) __field(enum rxrpc_tx_point, where )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 916) __field_struct(struct rxrpc_wire_header, whdr )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 917) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 918)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 919) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 920) __entry->call = call_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 921) memcpy(&__entry->whdr, whdr, sizeof(__entry->whdr));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 922) __entry->where = where;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 923) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 924)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 925) TP_printk("c=%08x %08x:%08x:%08x:%04x %08x %08x %02x %02x %s %s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 926) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 927) ntohl(__entry->whdr.epoch),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 928) ntohl(__entry->whdr.cid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 929) ntohl(__entry->whdr.callNumber),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 930) ntohs(__entry->whdr.serviceId),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 931) ntohl(__entry->whdr.serial),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 932) ntohl(__entry->whdr.seq),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 933) __entry->whdr.type, __entry->whdr.flags,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 934) __entry->whdr.type <= 15 ?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 935) __print_symbolic(__entry->whdr.type, rxrpc_pkts) : "?UNK",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 936) __print_symbolic(__entry->where, rxrpc_tx_points))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 937) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 938)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 939) TRACE_EVENT(rxrpc_tx_data,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 940) TP_PROTO(struct rxrpc_call *call, rxrpc_seq_t seq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 941) rxrpc_serial_t serial, u8 flags, bool retrans, bool lose),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 942)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 943) TP_ARGS(call, seq, serial, flags, retrans, lose),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 944)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 945) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 946) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 947) __field(rxrpc_seq_t, seq )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 948) __field(rxrpc_serial_t, serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 949) __field(u32, cid )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 950) __field(u32, call_id )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 951) __field(u8, flags )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 952) __field(bool, retrans )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 953) __field(bool, lose )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 954) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 955)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 956) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 957) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 958) __entry->cid = call->cid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 959) __entry->call_id = call->call_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 960) __entry->seq = seq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 961) __entry->serial = serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 962) __entry->flags = flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 963) __entry->retrans = retrans;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 964) __entry->lose = lose;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 965) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 966)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 967) TP_printk("c=%08x DATA %08x:%08x %08x q=%08x fl=%02x%s%s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 968) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 969) __entry->cid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 970) __entry->call_id,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 971) __entry->serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 972) __entry->seq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 973) __entry->flags,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 974) __entry->retrans ? " *RETRANS*" : "",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 975) __entry->lose ? " *LOSE*" : "")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 976) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 977)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 978) TRACE_EVENT(rxrpc_tx_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 979) TP_PROTO(unsigned int call, rxrpc_serial_t serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 980) rxrpc_seq_t ack_first, rxrpc_serial_t ack_serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 981) u8 reason, u8 n_acks),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 982)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 983) TP_ARGS(call, serial, ack_first, ack_serial, reason, n_acks),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 984)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 985) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 986) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 987) __field(rxrpc_serial_t, serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 988) __field(rxrpc_seq_t, ack_first )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 989) __field(rxrpc_serial_t, ack_serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 990) __field(u8, reason )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 991) __field(u8, n_acks )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 992) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 993)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 994) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 995) __entry->call = call;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 996) __entry->serial = serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 997) __entry->ack_first = ack_first;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 998) __entry->ack_serial = ack_serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 999) __entry->reason = reason;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1000) __entry->n_acks = n_acks;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1001) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1003) TP_printk(" c=%08x ACK %08x %s f=%08x r=%08x n=%u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1004) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1005) __entry->serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1006) __print_symbolic(__entry->reason, rxrpc_ack_names),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1007) __entry->ack_first,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1008) __entry->ack_serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1009) __entry->n_acks)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1010) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1011)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1012) TRACE_EVENT(rxrpc_receive,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1013) TP_PROTO(struct rxrpc_call *call, enum rxrpc_receive_trace why,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1014) rxrpc_serial_t serial, rxrpc_seq_t seq),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1015)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1016) TP_ARGS(call, why, serial, seq),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1017)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1018) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1019) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1020) __field(enum rxrpc_receive_trace, why )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1021) __field(rxrpc_serial_t, serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1022) __field(rxrpc_seq_t, seq )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1023) __field(rxrpc_seq_t, hard_ack )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1024) __field(rxrpc_seq_t, top )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1025) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1026)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1027) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1028) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1029) __entry->why = why;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1030) __entry->serial = serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1031) __entry->seq = seq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1032) __entry->hard_ack = call->rx_hard_ack;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1033) __entry->top = call->rx_top;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1034) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1035)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1036) TP_printk("c=%08x %s r=%08x q=%08x w=%08x-%08x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1037) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1038) __print_symbolic(__entry->why, rxrpc_receive_traces),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1039) __entry->serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1040) __entry->seq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1041) __entry->hard_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1042) __entry->top)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1043) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1044)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1045) TRACE_EVENT(rxrpc_recvmsg,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1046) TP_PROTO(struct rxrpc_call *call, enum rxrpc_recvmsg_trace why,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1047) rxrpc_seq_t seq, unsigned int offset, unsigned int len,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1048) int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1049)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1050) TP_ARGS(call, why, seq, offset, len, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1051)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1052) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1053) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1054) __field(enum rxrpc_recvmsg_trace, why )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1055) __field(rxrpc_seq_t, seq )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1056) __field(unsigned int, offset )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1057) __field(unsigned int, len )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1058) __field(int, ret )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1059) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1060)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1061) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1062) __entry->call = call ? call->debug_id : 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1063) __entry->why = why;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1064) __entry->seq = seq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1065) __entry->offset = offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1066) __entry->len = len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1067) __entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1068) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1069)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1070) TP_printk("c=%08x %s q=%08x o=%u l=%u ret=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1071) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1072) __print_symbolic(__entry->why, rxrpc_recvmsg_traces),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1073) __entry->seq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1074) __entry->offset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1075) __entry->len,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1076) __entry->ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1077) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1078)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1079) TRACE_EVENT(rxrpc_rtt_tx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1080) TP_PROTO(struct rxrpc_call *call, enum rxrpc_rtt_tx_trace why,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1081) int slot, rxrpc_serial_t send_serial),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1082)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1083) TP_ARGS(call, why, slot, send_serial),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1084)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1085) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1086) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1087) __field(enum rxrpc_rtt_tx_trace, why )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1088) __field(int, slot )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1089) __field(rxrpc_serial_t, send_serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1090) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1091)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1092) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1093) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1094) __entry->why = why;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1095) __entry->slot = slot;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1096) __entry->send_serial = send_serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1097) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1098)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1099) TP_printk("c=%08x [%d] %s sr=%08x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1100) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1101) __entry->slot,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1102) __print_symbolic(__entry->why, rxrpc_rtt_tx_traces),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1103) __entry->send_serial)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1104) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1105)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1106) TRACE_EVENT(rxrpc_rtt_rx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1107) TP_PROTO(struct rxrpc_call *call, enum rxrpc_rtt_rx_trace why,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1108) int slot,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1109) rxrpc_serial_t send_serial, rxrpc_serial_t resp_serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1110) u32 rtt, u32 rto),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1112) TP_ARGS(call, why, slot, send_serial, resp_serial, rtt, rto),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1113)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1114) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1115) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1116) __field(enum rxrpc_rtt_rx_trace, why )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1117) __field(int, slot )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1118) __field(rxrpc_serial_t, send_serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1119) __field(rxrpc_serial_t, resp_serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1120) __field(u32, rtt )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1121) __field(u32, rto )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1122) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1123)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1124) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1125) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1126) __entry->why = why;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1127) __entry->slot = slot;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1128) __entry->send_serial = send_serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1129) __entry->resp_serial = resp_serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1130) __entry->rtt = rtt;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1131) __entry->rto = rto;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1132) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1133)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1134) TP_printk("c=%08x [%d] %s sr=%08x rr=%08x rtt=%u rto=%u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1135) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1136) __entry->slot,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1137) __print_symbolic(__entry->why, rxrpc_rtt_rx_traces),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1138) __entry->send_serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1139) __entry->resp_serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1140) __entry->rtt,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1141) __entry->rto)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1142) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1143)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1144) TRACE_EVENT(rxrpc_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1145) TP_PROTO(struct rxrpc_call *call, enum rxrpc_timer_trace why,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1146) unsigned long now),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1147)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1148) TP_ARGS(call, why, now),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1149)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1150) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1151) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1152) __field(enum rxrpc_timer_trace, why )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1153) __field(long, now )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1154) __field(long, ack_at )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1155) __field(long, ack_lost_at )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1156) __field(long, resend_at )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1157) __field(long, ping_at )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1158) __field(long, expect_rx_by )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1159) __field(long, expect_req_by )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1160) __field(long, expect_term_by )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1161) __field(long, timer )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1162) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1163)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1164) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1165) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1166) __entry->why = why;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1167) __entry->now = now;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1168) __entry->ack_at = call->ack_at;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1169) __entry->ack_lost_at = call->ack_lost_at;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1170) __entry->resend_at = call->resend_at;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1171) __entry->expect_rx_by = call->expect_rx_by;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1172) __entry->expect_req_by = call->expect_req_by;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1173) __entry->expect_term_by = call->expect_term_by;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1174) __entry->timer = call->timer.expires;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1175) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1176)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1177) TP_printk("c=%08x %s a=%ld la=%ld r=%ld xr=%ld xq=%ld xt=%ld t=%ld",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1178) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1179) __print_symbolic(__entry->why, rxrpc_timer_traces),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1180) __entry->ack_at - __entry->now,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1181) __entry->ack_lost_at - __entry->now,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1182) __entry->resend_at - __entry->now,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1183) __entry->expect_rx_by - __entry->now,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1184) __entry->expect_req_by - __entry->now,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1185) __entry->expect_term_by - __entry->now,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1186) __entry->timer - __entry->now)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1187) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1188)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1189) TRACE_EVENT(rxrpc_rx_lose,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1190) TP_PROTO(struct rxrpc_skb_priv *sp),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1191)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1192) TP_ARGS(sp),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1193)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1194) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1195) __field_struct(struct rxrpc_host_header, hdr )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1196) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1197)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1198) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1199) memcpy(&__entry->hdr, &sp->hdr, sizeof(__entry->hdr));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1200) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1201)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1202) TP_printk("%08x:%08x:%08x:%04x %08x %08x %02x %02x %s *LOSE*",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1203) __entry->hdr.epoch, __entry->hdr.cid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1204) __entry->hdr.callNumber, __entry->hdr.serviceId,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1205) __entry->hdr.serial, __entry->hdr.seq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1206) __entry->hdr.type, __entry->hdr.flags,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1207) __entry->hdr.type <= 15 ?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1208) __print_symbolic(__entry->hdr.type, rxrpc_pkts) : "?UNK")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1209) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1210)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1211) TRACE_EVENT(rxrpc_propose_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1212) TP_PROTO(struct rxrpc_call *call, enum rxrpc_propose_ack_trace why,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1213) u8 ack_reason, rxrpc_serial_t serial, bool immediate,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1214) bool background, enum rxrpc_propose_ack_outcome outcome),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1215)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1216) TP_ARGS(call, why, ack_reason, serial, immediate, background,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1217) outcome),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1218)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1219) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1220) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1221) __field(enum rxrpc_propose_ack_trace, why )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1222) __field(rxrpc_serial_t, serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1223) __field(u8, ack_reason )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1224) __field(bool, immediate )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1225) __field(bool, background )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1226) __field(enum rxrpc_propose_ack_outcome, outcome )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1227) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1228)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1229) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1230) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1231) __entry->why = why;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1232) __entry->serial = serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1233) __entry->ack_reason = ack_reason;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1234) __entry->immediate = immediate;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1235) __entry->background = background;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1236) __entry->outcome = outcome;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1237) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1238)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1239) TP_printk("c=%08x %s %s r=%08x i=%u b=%u%s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1240) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1241) __print_symbolic(__entry->why, rxrpc_propose_ack_traces),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1242) __print_symbolic(__entry->ack_reason, rxrpc_ack_names),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1243) __entry->serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1244) __entry->immediate,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1245) __entry->background,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1246) __print_symbolic(__entry->outcome, rxrpc_propose_ack_outcomes))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1247) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1248)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1249) TRACE_EVENT(rxrpc_retransmit,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1250) TP_PROTO(struct rxrpc_call *call, rxrpc_seq_t seq, u8 annotation,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1251) s64 expiry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1252)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1253) TP_ARGS(call, seq, annotation, expiry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1254)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1255) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1256) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1257) __field(rxrpc_seq_t, seq )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1258) __field(u8, annotation )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1259) __field(s64, expiry )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1260) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1261)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1262) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1263) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1264) __entry->seq = seq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1265) __entry->annotation = annotation;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1266) __entry->expiry = expiry;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1267) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1268)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1269) TP_printk("c=%08x q=%x a=%02x xp=%lld",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1270) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1271) __entry->seq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1272) __entry->annotation,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1273) __entry->expiry)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1274) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1275)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1276) TRACE_EVENT(rxrpc_congest,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1277) TP_PROTO(struct rxrpc_call *call, struct rxrpc_ack_summary *summary,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1278) rxrpc_serial_t ack_serial, enum rxrpc_congest_change change),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1279)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1280) TP_ARGS(call, summary, ack_serial, change),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1281)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1282) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1283) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1284) __field(enum rxrpc_congest_change, change )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1285) __field(rxrpc_seq_t, hard_ack )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1286) __field(rxrpc_seq_t, top )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1287) __field(rxrpc_seq_t, lowest_nak )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1288) __field(rxrpc_serial_t, ack_serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1289) __field_struct(struct rxrpc_ack_summary, sum )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1290) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1291)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1292) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1293) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1294) __entry->change = change;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1295) __entry->hard_ack = call->tx_hard_ack;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1296) __entry->top = call->tx_top;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1297) __entry->lowest_nak = call->acks_lowest_nak;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1298) __entry->ack_serial = ack_serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1299) memcpy(&__entry->sum, summary, sizeof(__entry->sum));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1300) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1301)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1302) TP_printk("c=%08x r=%08x %s q=%08x %s cw=%u ss=%u nr=%u,%u nw=%u,%u r=%u b=%u u=%u d=%u l=%x%s%s%s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1303) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1304) __entry->ack_serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1305) __print_symbolic(__entry->sum.ack_reason, rxrpc_ack_names),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1306) __entry->hard_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1307) __print_symbolic(__entry->sum.mode, rxrpc_congest_modes),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1308) __entry->sum.cwnd,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1309) __entry->sum.ssthresh,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1310) __entry->sum.nr_acks, __entry->sum.nr_nacks,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1311) __entry->sum.nr_new_acks, __entry->sum.nr_new_nacks,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1312) __entry->sum.nr_rot_new_acks,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1313) __entry->top - __entry->hard_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1314) __entry->sum.cumulative_acks,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1315) __entry->sum.dup_acks,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1316) __entry->lowest_nak, __entry->sum.new_low_nack ? "!" : "",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1317) __print_symbolic(__entry->change, rxrpc_congest_changes),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1318) __entry->sum.retrans_timeo ? " rTxTo" : "")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1319) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1320)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1321) TRACE_EVENT(rxrpc_disconnect_call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1322) TP_PROTO(struct rxrpc_call *call),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1323)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1324) TP_ARGS(call),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1325)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1326) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1327) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1328) __field(u32, abort_code )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1329) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1330)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1331) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1332) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1333) __entry->abort_code = call->abort_code;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1334) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1335)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1336) TP_printk("c=%08x ab=%08x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1337) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1338) __entry->abort_code)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1339) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1340)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1341) TRACE_EVENT(rxrpc_improper_term,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1342) TP_PROTO(struct rxrpc_call *call),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1343)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1344) TP_ARGS(call),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1345)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1346) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1347) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1348) __field(u32, abort_code )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1349) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1350)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1351) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1352) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1353) __entry->abort_code = call->abort_code;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1354) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1355)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1356) TP_printk("c=%08x ab=%08x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1357) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1358) __entry->abort_code)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1359) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1360)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1361) TRACE_EVENT(rxrpc_rx_eproto,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1362) TP_PROTO(struct rxrpc_call *call, rxrpc_serial_t serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1363) const char *why),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1364)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1365) TP_ARGS(call, serial, why),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1366)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1367) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1368) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1369) __field(rxrpc_serial_t, serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1370) __field(const char *, why )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1371) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1372)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1373) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1374) __entry->call = call ? call->debug_id : 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1375) __entry->serial = serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1376) __entry->why = why;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1377) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1378)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1379) TP_printk("c=%08x EPROTO %08x %s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1380) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1381) __entry->serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1382) __entry->why)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1383) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1384)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1385) TRACE_EVENT(rxrpc_connect_call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1386) TP_PROTO(struct rxrpc_call *call),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1387)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1388) TP_ARGS(call),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1389)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1390) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1391) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1392) __field(unsigned long, user_call_ID )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1393) __field(u32, cid )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1394) __field(u32, call_id )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1395) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1396)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1397) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1398) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1399) __entry->user_call_ID = call->user_call_ID;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1400) __entry->cid = call->cid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1401) __entry->call_id = call->call_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1402) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1403)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1404) TP_printk("c=%08x u=%p %08x:%08x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1405) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1406) (void *)__entry->user_call_ID,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1407) __entry->cid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1408) __entry->call_id)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1409) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1410)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1411) TRACE_EVENT(rxrpc_resend,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1412) TP_PROTO(struct rxrpc_call *call, int ix),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1413)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1414) TP_ARGS(call, ix),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1415)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1416) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1417) __field(unsigned int, call )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1418) __field(int, ix )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1419) __array(u8, anno, 64 )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1420) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1421)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1422) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1423) __entry->call = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1424) __entry->ix = ix;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1425) memcpy(__entry->anno, call->rxtx_annotations, 64);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1426) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1427)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1428) TP_printk("c=%08x ix=%u a=%64phN",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1429) __entry->call,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1430) __entry->ix,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1431) __entry->anno)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1432) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1433)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1434) TRACE_EVENT(rxrpc_rx_icmp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1435) TP_PROTO(struct rxrpc_peer *peer, struct sock_extended_err *ee,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1436) struct sockaddr_rxrpc *srx),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1437)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1438) TP_ARGS(peer, ee, srx),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1439)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1440) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1441) __field(unsigned int, peer )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1442) __field_struct(struct sock_extended_err, ee )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1443) __field_struct(struct sockaddr_rxrpc, srx )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1444) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1445)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1446) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1447) __entry->peer = peer->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1448) memcpy(&__entry->ee, ee, sizeof(__entry->ee));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1449) memcpy(&__entry->srx, srx, sizeof(__entry->srx));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1450) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1451)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1452) TP_printk("P=%08x o=%u t=%u c=%u i=%u d=%u e=%d %pISp",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1453) __entry->peer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1454) __entry->ee.ee_origin,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1455) __entry->ee.ee_type,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1456) __entry->ee.ee_code,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1457) __entry->ee.ee_info,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1458) __entry->ee.ee_data,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1459) __entry->ee.ee_errno,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1460) &__entry->srx.transport)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1461) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1462)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1463) TRACE_EVENT(rxrpc_tx_fail,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1464) TP_PROTO(unsigned int debug_id, rxrpc_serial_t serial, int ret,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1465) enum rxrpc_tx_point where),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1466)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1467) TP_ARGS(debug_id, serial, ret, where),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1468)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1469) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1470) __field(unsigned int, debug_id )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1471) __field(rxrpc_serial_t, serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1472) __field(int, ret )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1473) __field(enum rxrpc_tx_point, where )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1474) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1475)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1476) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1477) __entry->debug_id = debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1478) __entry->serial = serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1479) __entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1480) __entry->where = where;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1481) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1482)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1483) TP_printk("c=%08x r=%x ret=%d %s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1484) __entry->debug_id,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1485) __entry->serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1486) __entry->ret,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1487) __print_symbolic(__entry->where, rxrpc_tx_points))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1488) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1489)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1490) TRACE_EVENT(rxrpc_call_reset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1491) TP_PROTO(struct rxrpc_call *call),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1492)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1493) TP_ARGS(call),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1494)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1495) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1496) __field(unsigned int, debug_id )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1497) __field(u32, cid )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1498) __field(u32, call_id )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1499) __field(rxrpc_serial_t, call_serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1500) __field(rxrpc_serial_t, conn_serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1501) __field(rxrpc_seq_t, tx_seq )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1502) __field(rxrpc_seq_t, rx_seq )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1503) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1504)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1505) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1506) __entry->debug_id = call->debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1507) __entry->cid = call->cid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1508) __entry->call_id = call->call_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1509) __entry->call_serial = call->rx_serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1510) __entry->conn_serial = call->conn->hi_serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1511) __entry->tx_seq = call->tx_hard_ack;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1512) __entry->rx_seq = call->ackr_seen;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1513) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1514)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1515) TP_printk("c=%08x %08x:%08x r=%08x/%08x tx=%08x rx=%08x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1516) __entry->debug_id,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1517) __entry->cid, __entry->call_id,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1518) __entry->call_serial, __entry->conn_serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1519) __entry->tx_seq, __entry->rx_seq)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1520) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1521)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1522) TRACE_EVENT(rxrpc_notify_socket,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1523) TP_PROTO(unsigned int debug_id, rxrpc_serial_t serial),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1524)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1525) TP_ARGS(debug_id, serial),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1526)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1527) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1528) __field(unsigned int, debug_id )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1529) __field(rxrpc_serial_t, serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1530) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1531)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1532) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1533) __entry->debug_id = debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1534) __entry->serial = serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1535) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1536)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1537) TP_printk("c=%08x r=%08x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1538) __entry->debug_id,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1539) __entry->serial)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1540) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1541)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1542) TRACE_EVENT(rxrpc_rx_discard_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1543) TP_PROTO(unsigned int debug_id, rxrpc_serial_t serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1544) rxrpc_seq_t first_soft_ack, rxrpc_seq_t call_ackr_first,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1545) rxrpc_seq_t prev_pkt, rxrpc_seq_t call_ackr_prev),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1546)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1547) TP_ARGS(debug_id, serial, first_soft_ack, call_ackr_first,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1548) prev_pkt, call_ackr_prev),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1549)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1550) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1551) __field(unsigned int, debug_id )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1552) __field(rxrpc_serial_t, serial )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1553) __field(rxrpc_seq_t, first_soft_ack)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1554) __field(rxrpc_seq_t, call_ackr_first)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1555) __field(rxrpc_seq_t, prev_pkt)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1556) __field(rxrpc_seq_t, call_ackr_prev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1557) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1558)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1559) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1560) __entry->debug_id = debug_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1561) __entry->serial = serial;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1562) __entry->first_soft_ack = first_soft_ack;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1563) __entry->call_ackr_first = call_ackr_first;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1564) __entry->prev_pkt = prev_pkt;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1565) __entry->call_ackr_prev = call_ackr_prev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1566) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1567)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1568) TP_printk("c=%08x r=%08x %08x<%08x %08x<%08x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1569) __entry->debug_id,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1570) __entry->serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1571) __entry->first_soft_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1572) __entry->call_ackr_first,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1573) __entry->prev_pkt,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1574) __entry->call_ackr_prev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1575) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1576)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1577) #endif /* _TRACE_RXRPC_H */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1578)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1579) /* This part must be outside protection */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1580) #include <trace/define_trace.h>