|
@@ -400,6 +400,13 @@ enum rxrpc_congest_change {
|
|
|
EM(RXRPC_ACK_IDLE, "IDL") \
|
|
|
E_(RXRPC_ACK__INVALID, "-?-")
|
|
|
|
|
|
+#define rxrpc_completions \
|
|
|
+ EM(RXRPC_CALL_SUCCEEDED, "Succeeded") \
|
|
|
+ EM(RXRPC_CALL_REMOTELY_ABORTED, "RemoteAbort") \
|
|
|
+ EM(RXRPC_CALL_LOCALLY_ABORTED, "LocalAbort") \
|
|
|
+ EM(RXRPC_CALL_LOCAL_ERROR, "LocalError") \
|
|
|
+ E_(RXRPC_CALL_NETWORK_ERROR, "NetError")
|
|
|
+
|
|
|
/*
|
|
|
* Export enum symbols via userspace.
|
|
|
*/
|
|
@@ -420,6 +427,7 @@ rxrpc_rtt_rx_traces;
|
|
|
rxrpc_timer_traces;
|
|
|
rxrpc_propose_ack_traces;
|
|
|
rxrpc_propose_ack_outcomes;
|
|
|
+rxrpc_congest_modes;
|
|
|
rxrpc_congest_changes;
|
|
|
|
|
|
/*
|
|
@@ -438,20 +446,20 @@ TRACE_EVENT(rxrpc_conn,
|
|
|
TP_ARGS(conn, op, usage, where),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_connection *, conn )
|
|
|
- __field(int, op )
|
|
|
- __field(int, usage )
|
|
|
- __field(const void *, where )
|
|
|
+ __field(unsigned int, conn )
|
|
|
+ __field(int, op )
|
|
|
+ __field(int, usage )
|
|
|
+ __field(const void *, where )
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->conn = conn;
|
|
|
+ __entry->conn = conn->debug_id;
|
|
|
__entry->op = op;
|
|
|
__entry->usage = usage;
|
|
|
__entry->where = where;
|
|
|
),
|
|
|
|
|
|
- TP_printk("C=%p %s u=%d sp=%pSR",
|
|
|
+ TP_printk("C=%08x %s u=%d sp=%pSR",
|
|
|
__entry->conn,
|
|
|
__print_symbolic(__entry->op, rxrpc_conn_traces),
|
|
|
__entry->usage,
|
|
@@ -465,7 +473,7 @@ TRACE_EVENT(rxrpc_client,
|
|
|
TP_ARGS(conn, channel, op),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_connection *, conn )
|
|
|
+ __field(unsigned int, conn )
|
|
|
__field(u32, cid )
|
|
|
__field(int, channel )
|
|
|
__field(int, usage )
|
|
@@ -474,7 +482,7 @@ TRACE_EVENT(rxrpc_client,
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->conn = conn;
|
|
|
+ __entry->conn = conn->debug_id;
|
|
|
__entry->channel = channel;
|
|
|
__entry->usage = atomic_read(&conn->usage);
|
|
|
__entry->op = op;
|
|
@@ -482,7 +490,7 @@ TRACE_EVENT(rxrpc_client,
|
|
|
__entry->cs = conn->cache_state;
|
|
|
),
|
|
|
|
|
|
- TP_printk("C=%p h=%2d %s %s i=%08x u=%d",
|
|
|
+ TP_printk("C=%08x h=%2d %s %s i=%08x u=%d",
|
|
|
__entry->conn,
|
|
|
__entry->channel,
|
|
|
__print_symbolic(__entry->op, rxrpc_client_traces),
|
|
@@ -498,7 +506,7 @@ TRACE_EVENT(rxrpc_call,
|
|
|
TP_ARGS(call, op, usage, where, aux),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(int, op )
|
|
|
__field(int, usage )
|
|
|
__field(const void *, where )
|
|
@@ -506,14 +514,14 @@ TRACE_EVENT(rxrpc_call,
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->op = op;
|
|
|
__entry->usage = usage;
|
|
|
__entry->where = where;
|
|
|
__entry->aux = aux;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p %s u=%d sp=%pSR a=%p",
|
|
|
+ TP_printk("c=%08x %s u=%d sp=%pSR a=%p",
|
|
|
__entry->call,
|
|
|
__print_symbolic(__entry->op, rxrpc_call_traces),
|
|
|
__entry->usage,
|
|
@@ -592,12 +600,13 @@ TRACE_EVENT(rxrpc_rx_done,
|
|
|
);
|
|
|
|
|
|
TRACE_EVENT(rxrpc_abort,
|
|
|
- TP_PROTO(const char *why, u32 cid, u32 call_id, rxrpc_seq_t seq,
|
|
|
- int abort_code, int error),
|
|
|
+ TP_PROTO(unsigned int call_nr, const char *why, u32 cid, u32 call_id,
|
|
|
+ rxrpc_seq_t seq, int abort_code, int error),
|
|
|
|
|
|
- TP_ARGS(why, cid, call_id, seq, abort_code, error),
|
|
|
+ TP_ARGS(call_nr, why, cid, call_id, seq, abort_code, error),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
+ __field(unsigned int, call_nr )
|
|
|
__array(char, why, 4 )
|
|
|
__field(u32, cid )
|
|
|
__field(u32, call_id )
|
|
@@ -608,6 +617,7 @@ TRACE_EVENT(rxrpc_abort,
|
|
|
|
|
|
TP_fast_assign(
|
|
|
memcpy(__entry->why, why, 4);
|
|
|
+ __entry->call_nr = call_nr;
|
|
|
__entry->cid = cid;
|
|
|
__entry->call_id = call_id;
|
|
|
__entry->abort_code = abort_code;
|
|
@@ -615,18 +625,45 @@ TRACE_EVENT(rxrpc_abort,
|
|
|
__entry->seq = seq;
|
|
|
),
|
|
|
|
|
|
- TP_printk("%08x:%08x s=%u a=%d e=%d %s",
|
|
|
+ TP_printk("c=%08x %08x:%08x s=%u a=%d e=%d %s",
|
|
|
+ __entry->call_nr,
|
|
|
__entry->cid, __entry->call_id, __entry->seq,
|
|
|
__entry->abort_code, __entry->error, __entry->why)
|
|
|
);
|
|
|
|
|
|
+TRACE_EVENT(rxrpc_call_complete,
|
|
|
+ TP_PROTO(struct rxrpc_call *call),
|
|
|
+
|
|
|
+ TP_ARGS(call),
|
|
|
+
|
|
|
+ TP_STRUCT__entry(
|
|
|
+ __field(unsigned int, call )
|
|
|
+ __field(enum rxrpc_call_completion, compl )
|
|
|
+ __field(int, error )
|
|
|
+ __field(u32, abort_code )
|
|
|
+ ),
|
|
|
+
|
|
|
+ TP_fast_assign(
|
|
|
+ __entry->call = call->debug_id;
|
|
|
+ __entry->compl = call->completion;
|
|
|
+ __entry->error = call->error;
|
|
|
+ __entry->abort_code = call->abort_code;
|
|
|
+ ),
|
|
|
+
|
|
|
+ TP_printk("c=%08x %s r=%d ac=%d",
|
|
|
+ __entry->call,
|
|
|
+ __print_symbolic(__entry->compl, rxrpc_completions),
|
|
|
+ __entry->error,
|
|
|
+ __entry->abort_code)
|
|
|
+ );
|
|
|
+
|
|
|
TRACE_EVENT(rxrpc_transmit,
|
|
|
TP_PROTO(struct rxrpc_call *call, enum rxrpc_transmit_trace why),
|
|
|
|
|
|
TP_ARGS(call, why),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(enum rxrpc_transmit_trace, why )
|
|
|
__field(rxrpc_seq_t, tx_hard_ack )
|
|
|
__field(rxrpc_seq_t, tx_top )
|
|
@@ -634,14 +671,14 @@ TRACE_EVENT(rxrpc_transmit,
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->why = why;
|
|
|
__entry->tx_hard_ack = call->tx_hard_ack;
|
|
|
__entry->tx_top = call->tx_top;
|
|
|
__entry->tx_winsize = call->tx_winsize;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p %s f=%08x n=%u/%u",
|
|
|
+ TP_printk("c=%08x %s f=%08x n=%u/%u",
|
|
|
__entry->call,
|
|
|
__print_symbolic(__entry->why, rxrpc_transmit_traces),
|
|
|
__entry->tx_hard_ack + 1,
|
|
@@ -656,7 +693,7 @@ TRACE_EVENT(rxrpc_rx_data,
|
|
|
TP_ARGS(call, seq, serial, flags, anno),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(rxrpc_seq_t, seq )
|
|
|
__field(rxrpc_serial_t, serial )
|
|
|
__field(u8, flags )
|
|
@@ -664,14 +701,14 @@ TRACE_EVENT(rxrpc_rx_data,
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->seq = seq;
|
|
|
__entry->serial = serial;
|
|
|
__entry->flags = flags;
|
|
|
__entry->anno = anno;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p DATA %08x q=%08x fl=%02x a=%02x",
|
|
|
+ TP_printk("c=%08x DATA %08x q=%08x fl=%02x a=%02x",
|
|
|
__entry->call,
|
|
|
__entry->serial,
|
|
|
__entry->seq,
|
|
@@ -687,7 +724,7 @@ TRACE_EVENT(rxrpc_rx_ack,
|
|
|
TP_ARGS(call, serial, ack_serial, first, prev, reason, n_acks),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(rxrpc_serial_t, serial )
|
|
|
__field(rxrpc_serial_t, ack_serial )
|
|
|
__field(rxrpc_seq_t, first )
|
|
@@ -697,7 +734,7 @@ TRACE_EVENT(rxrpc_rx_ack,
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->serial = serial;
|
|
|
__entry->ack_serial = ack_serial;
|
|
|
__entry->first = first;
|
|
@@ -706,7 +743,7 @@ TRACE_EVENT(rxrpc_rx_ack,
|
|
|
__entry->n_acks = n_acks;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p %08x %s r=%08x f=%08x p=%08x n=%u",
|
|
|
+ TP_printk("c=%08x %08x %s r=%08x f=%08x p=%08x n=%u",
|
|
|
__entry->call,
|
|
|
__entry->serial,
|
|
|
__print_symbolic(__entry->reason, rxrpc_ack_names),
|
|
@@ -723,18 +760,18 @@ TRACE_EVENT(rxrpc_rx_abort,
|
|
|
TP_ARGS(call, serial, abort_code),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(rxrpc_serial_t, serial )
|
|
|
__field(u32, abort_code )
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->serial = serial;
|
|
|
__entry->abort_code = abort_code;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p ABORT %08x ac=%d",
|
|
|
+ TP_printk("c=%08x ABORT %08x ac=%d",
|
|
|
__entry->call,
|
|
|
__entry->serial,
|
|
|
__entry->abort_code)
|
|
@@ -747,20 +784,20 @@ TRACE_EVENT(rxrpc_rx_rwind_change,
|
|
|
TP_ARGS(call, serial, rwind, wake),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(rxrpc_serial_t, serial )
|
|
|
__field(u32, rwind )
|
|
|
__field(bool, wake )
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->serial = serial;
|
|
|
__entry->rwind = rwind;
|
|
|
__entry->wake = wake;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p %08x rw=%u%s",
|
|
|
+ TP_printk("c=%08x %08x rw=%u%s",
|
|
|
__entry->call,
|
|
|
__entry->serial,
|
|
|
__entry->rwind,
|
|
@@ -774,7 +811,7 @@ TRACE_EVENT(rxrpc_tx_data,
|
|
|
TP_ARGS(call, seq, serial, flags, retrans, lose),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(rxrpc_seq_t, seq )
|
|
|
__field(rxrpc_serial_t, serial )
|
|
|
__field(u8, flags )
|
|
@@ -783,7 +820,7 @@ TRACE_EVENT(rxrpc_tx_data,
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->seq = seq;
|
|
|
__entry->serial = serial;
|
|
|
__entry->flags = flags;
|
|
@@ -791,7 +828,7 @@ TRACE_EVENT(rxrpc_tx_data,
|
|
|
__entry->lose = lose;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p DATA %08x q=%08x fl=%02x%s%s",
|
|
|
+ TP_printk("c=%08x DATA %08x q=%08x fl=%02x%s%s",
|
|
|
__entry->call,
|
|
|
__entry->serial,
|
|
|
__entry->seq,
|
|
@@ -808,7 +845,7 @@ TRACE_EVENT(rxrpc_tx_ack,
|
|
|
TP_ARGS(call, serial, ack_first, ack_serial, reason, n_acks),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(rxrpc_serial_t, serial )
|
|
|
__field(rxrpc_seq_t, ack_first )
|
|
|
__field(rxrpc_serial_t, ack_serial )
|
|
@@ -817,7 +854,7 @@ TRACE_EVENT(rxrpc_tx_ack,
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call ? call->debug_id : 0;
|
|
|
__entry->serial = serial;
|
|
|
__entry->ack_first = ack_first;
|
|
|
__entry->ack_serial = ack_serial;
|
|
@@ -825,7 +862,7 @@ TRACE_EVENT(rxrpc_tx_ack,
|
|
|
__entry->n_acks = n_acks;
|
|
|
),
|
|
|
|
|
|
- TP_printk(" c=%p ACK %08x %s f=%08x r=%08x n=%u",
|
|
|
+ TP_printk(" c=%08x ACK %08x %s f=%08x r=%08x n=%u",
|
|
|
__entry->call,
|
|
|
__entry->serial,
|
|
|
__print_symbolic(__entry->reason, rxrpc_ack_names),
|
|
@@ -841,7 +878,7 @@ TRACE_EVENT(rxrpc_receive,
|
|
|
TP_ARGS(call, why, serial, seq),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(enum rxrpc_receive_trace, why )
|
|
|
__field(rxrpc_serial_t, serial )
|
|
|
__field(rxrpc_seq_t, seq )
|
|
@@ -850,7 +887,7 @@ TRACE_EVENT(rxrpc_receive,
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->why = why;
|
|
|
__entry->serial = serial;
|
|
|
__entry->seq = seq;
|
|
@@ -858,7 +895,7 @@ TRACE_EVENT(rxrpc_receive,
|
|
|
__entry->top = call->rx_top;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p %s r=%08x q=%08x w=%08x-%08x",
|
|
|
+ TP_printk("c=%08x %s r=%08x q=%08x w=%08x-%08x",
|
|
|
__entry->call,
|
|
|
__print_symbolic(__entry->why, rxrpc_receive_traces),
|
|
|
__entry->serial,
|
|
@@ -875,7 +912,7 @@ TRACE_EVENT(rxrpc_recvmsg,
|
|
|
TP_ARGS(call, why, seq, offset, len, ret),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(enum rxrpc_recvmsg_trace, why )
|
|
|
__field(rxrpc_seq_t, seq )
|
|
|
__field(unsigned int, offset )
|
|
@@ -884,7 +921,7 @@ TRACE_EVENT(rxrpc_recvmsg,
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->why = why;
|
|
|
__entry->seq = seq;
|
|
|
__entry->offset = offset;
|
|
@@ -892,7 +929,7 @@ TRACE_EVENT(rxrpc_recvmsg,
|
|
|
__entry->ret = ret;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p %s q=%08x o=%u l=%u ret=%d",
|
|
|
+ TP_printk("c=%08x %s q=%08x o=%u l=%u ret=%d",
|
|
|
__entry->call,
|
|
|
__print_symbolic(__entry->why, rxrpc_recvmsg_traces),
|
|
|
__entry->seq,
|
|
@@ -908,18 +945,18 @@ TRACE_EVENT(rxrpc_rtt_tx,
|
|
|
TP_ARGS(call, why, send_serial),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(enum rxrpc_rtt_tx_trace, why )
|
|
|
__field(rxrpc_serial_t, send_serial )
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->why = why;
|
|
|
__entry->send_serial = send_serial;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p %s sr=%08x",
|
|
|
+ TP_printk("c=%08x %s sr=%08x",
|
|
|
__entry->call,
|
|
|
__print_symbolic(__entry->why, rxrpc_rtt_tx_traces),
|
|
|
__entry->send_serial)
|
|
@@ -933,7 +970,7 @@ TRACE_EVENT(rxrpc_rtt_rx,
|
|
|
TP_ARGS(call, why, send_serial, resp_serial, rtt, nr, avg),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(enum rxrpc_rtt_rx_trace, why )
|
|
|
__field(u8, nr )
|
|
|
__field(rxrpc_serial_t, send_serial )
|
|
@@ -943,7 +980,7 @@ TRACE_EVENT(rxrpc_rtt_rx,
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->why = why;
|
|
|
__entry->send_serial = send_serial;
|
|
|
__entry->resp_serial = resp_serial;
|
|
@@ -952,7 +989,7 @@ TRACE_EVENT(rxrpc_rtt_rx,
|
|
|
__entry->avg = avg;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p %s sr=%08x rr=%08x rtt=%lld nr=%u avg=%lld",
|
|
|
+ TP_printk("c=%08x %s sr=%08x rr=%08x rtt=%lld nr=%u avg=%lld",
|
|
|
__entry->call,
|
|
|
__print_symbolic(__entry->why, rxrpc_rtt_rx_traces),
|
|
|
__entry->send_serial,
|
|
@@ -969,7 +1006,7 @@ TRACE_EVENT(rxrpc_timer,
|
|
|
TP_ARGS(call, why, now),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(enum rxrpc_timer_trace, why )
|
|
|
__field(long, now )
|
|
|
__field(long, ack_at )
|
|
@@ -983,7 +1020,7 @@ TRACE_EVENT(rxrpc_timer,
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->why = why;
|
|
|
__entry->now = now;
|
|
|
__entry->ack_at = call->ack_at;
|
|
@@ -995,7 +1032,7 @@ TRACE_EVENT(rxrpc_timer,
|
|
|
__entry->timer = call->timer.expires;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p %s a=%ld la=%ld r=%ld xr=%ld xq=%ld xt=%ld t=%ld",
|
|
|
+ TP_printk("c=%08x %s a=%ld la=%ld r=%ld xr=%ld xq=%ld xt=%ld t=%ld",
|
|
|
__entry->call,
|
|
|
__print_symbolic(__entry->why, rxrpc_timer_traces),
|
|
|
__entry->ack_at - __entry->now,
|
|
@@ -1038,7 +1075,7 @@ TRACE_EVENT(rxrpc_propose_ack,
|
|
|
outcome),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(enum rxrpc_propose_ack_trace, why )
|
|
|
__field(rxrpc_serial_t, serial )
|
|
|
__field(u8, ack_reason )
|
|
@@ -1048,7 +1085,7 @@ TRACE_EVENT(rxrpc_propose_ack,
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->why = why;
|
|
|
__entry->serial = serial;
|
|
|
__entry->ack_reason = ack_reason;
|
|
@@ -1057,7 +1094,7 @@ TRACE_EVENT(rxrpc_propose_ack,
|
|
|
__entry->outcome = outcome;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p %s %s r=%08x i=%u b=%u%s",
|
|
|
+ TP_printk("c=%08x %s %s r=%08x i=%u b=%u%s",
|
|
|
__entry->call,
|
|
|
__print_symbolic(__entry->why, rxrpc_propose_ack_traces),
|
|
|
__print_symbolic(__entry->ack_reason, rxrpc_ack_names),
|
|
@@ -1074,20 +1111,20 @@ TRACE_EVENT(rxrpc_retransmit,
|
|
|
TP_ARGS(call, seq, annotation, expiry),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(rxrpc_seq_t, seq )
|
|
|
__field(u8, annotation )
|
|
|
__field(s64, expiry )
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->seq = seq;
|
|
|
__entry->annotation = annotation;
|
|
|
__entry->expiry = expiry;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p q=%x a=%02x xp=%lld",
|
|
|
+ TP_printk("c=%08x q=%x a=%02x xp=%lld",
|
|
|
__entry->call,
|
|
|
__entry->seq,
|
|
|
__entry->annotation,
|
|
@@ -1101,7 +1138,7 @@ TRACE_EVENT(rxrpc_congest,
|
|
|
TP_ARGS(call, summary, ack_serial, change),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(enum rxrpc_congest_change, change )
|
|
|
__field(rxrpc_seq_t, hard_ack )
|
|
|
__field(rxrpc_seq_t, top )
|
|
@@ -1111,7 +1148,7 @@ TRACE_EVENT(rxrpc_congest,
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->change = change;
|
|
|
__entry->hard_ack = call->tx_hard_ack;
|
|
|
__entry->top = call->tx_top;
|
|
@@ -1120,7 +1157,7 @@ TRACE_EVENT(rxrpc_congest,
|
|
|
memcpy(&__entry->sum, summary, sizeof(__entry->sum));
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p 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",
|
|
|
+ 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",
|
|
|
__entry->call,
|
|
|
__entry->ack_serial,
|
|
|
__print_symbolic(__entry->sum.ack_reason, rxrpc_ack_names),
|
|
@@ -1145,16 +1182,16 @@ TRACE_EVENT(rxrpc_disconnect_call,
|
|
|
TP_ARGS(call),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(u32, abort_code )
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->abort_code = call->abort_code;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p ab=%08x",
|
|
|
+ TP_printk("c=%08x ab=%08x",
|
|
|
__entry->call,
|
|
|
__entry->abort_code)
|
|
|
);
|
|
@@ -1165,16 +1202,16 @@ TRACE_EVENT(rxrpc_improper_term,
|
|
|
TP_ARGS(call),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(u32, abort_code )
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->abort_code = call->abort_code;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p ab=%08x",
|
|
|
+ TP_printk("c=%08x ab=%08x",
|
|
|
__entry->call,
|
|
|
__entry->abort_code)
|
|
|
);
|
|
@@ -1186,18 +1223,18 @@ TRACE_EVENT(rxrpc_rx_eproto,
|
|
|
TP_ARGS(call, serial, why),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(rxrpc_serial_t, serial )
|
|
|
__field(const char *, why )
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->serial = serial;
|
|
|
__entry->why = why;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p EPROTO %08x %s",
|
|
|
+ TP_printk("c=%08x EPROTO %08x %s",
|
|
|
__entry->call,
|
|
|
__entry->serial,
|
|
|
__entry->why)
|
|
@@ -1209,26 +1246,49 @@ TRACE_EVENT(rxrpc_connect_call,
|
|
|
TP_ARGS(call),
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
- __field(struct rxrpc_call *, call )
|
|
|
+ __field(unsigned int, call )
|
|
|
__field(unsigned long, user_call_ID )
|
|
|
__field(u32, cid )
|
|
|
__field(u32, call_id )
|
|
|
),
|
|
|
|
|
|
TP_fast_assign(
|
|
|
- __entry->call = call;
|
|
|
+ __entry->call = call->debug_id;
|
|
|
__entry->user_call_ID = call->user_call_ID;
|
|
|
__entry->cid = call->cid;
|
|
|
__entry->call_id = call->call_id;
|
|
|
),
|
|
|
|
|
|
- TP_printk("c=%p u=%p %08x:%08x",
|
|
|
+ TP_printk("c=%08x u=%p %08x:%08x",
|
|
|
__entry->call,
|
|
|
(void *)__entry->user_call_ID,
|
|
|
__entry->cid,
|
|
|
__entry->call_id)
|
|
|
);
|
|
|
|
|
|
+TRACE_EVENT(rxrpc_resend,
|
|
|
+ TP_PROTO(struct rxrpc_call *call, int ix),
|
|
|
+
|
|
|
+ TP_ARGS(call, ix),
|
|
|
+
|
|
|
+ TP_STRUCT__entry(
|
|
|
+ __field(unsigned int, call )
|
|
|
+ __field(int, ix )
|
|
|
+ __array(u8, anno, 64 )
|
|
|
+ ),
|
|
|
+
|
|
|
+ TP_fast_assign(
|
|
|
+ __entry->call = call->debug_id;
|
|
|
+ __entry->ix = ix;
|
|
|
+ memcpy(__entry->anno, call->rxtx_annotations, 64);
|
|
|
+ ),
|
|
|
+
|
|
|
+ TP_printk("c=%08x ix=%u a=%64phN",
|
|
|
+ __entry->call,
|
|
|
+ __entry->ix,
|
|
|
+ __entry->anno)
|
|
|
+ );
|
|
|
+
|
|
|
#endif /* _TRACE_RXRPC_H */
|
|
|
|
|
|
/* This part must be outside protection */
|