Add a tracepoint (rxrpc_rx_abort) to record received aborts.
Unified · Split
| @@ -683,6 +683,30 @@ TRACE_EVENT(rxrpc_rx_ack, · 682 unmodified lines | ||
| 683 | 683 | __entry->n_acks) |
| 684 | 684 | ); |
| 685 | 685 | |
| 686 | +TRACE_EVENT(rxrpc_rx_abort, | |
| 687 | + TP_PROTO(struct rxrpc_call *call, rxrpc_serial_t serial, | |
| 688 | + u32 abort_code), | |
| 689 | + | |
| 690 | + TP_ARGS(call, serial, abort_code), | |
| 691 | + | |
| 692 | + TP_STRUCT__entry( | |
| 693 | + __field(struct rxrpc_call *, call ) | |
| 694 | + __field(rxrpc_serial_t, serial ) | |
| 695 | + __field(u32, abort_code ) | |
| 696 | + ), | |
| 697 | + | |
| 698 | + TP_fast_assign( | |
| 699 | + __entry->call = call; | |
| 700 | + __entry->serial = serial; | |
| 701 | + __entry->abort_code = abort_code; | |
| 702 | + ), | |
| 703 | + | |
| 704 | + TP_printk("c=%p ABORT %08x ac=%d", | |
| 705 | + __entry->call, | |
| 706 | + __entry->serial, | |
| 707 | + __entry->abort_code) | |
| 708 | + ); | |
| 709 | + | |
| 686 | 710 | TRACE_EVENT(rxrpc_tx_data, |
| 687 | 711 | TP_PROTO(struct rxrpc_call *call, rxrpc_seq_t seq, |
| 688 | 712 | rxrpc_serial_t serial, u8 flags, bool retrans, bool lose), |
| @@ -877,7 +877,7 @@ static void rxrpc_input_ackall(struct rxrpc_call *call, struct sk_buff *skb) · 876 unmodified lines | ||
| 877 | 877 | } |
| 878 | 878 | |
| 879 | 879 | /* |
| 880 | − * Process an ABORT packet. | |
| 880 | + * Process an ABORT packet directed at a call. | |
| 881 | 881 | */ |
| 882 | 882 | static void rxrpc_input_abort(struct rxrpc_call *call, struct sk_buff *skb) |
| 883 | 883 | { |
| @@ -892,6 +892,8 @@ static void rxrpc_input_abort(struct rxrpc_call *call, struct sk_buff *skb) · 8 unmodified lines | ||
| 892 | 892 | &wtmp, sizeof(wtmp)) >= 0) |
| 893 | 893 | abort_code = ntohl(wtmp); |
| 894 | 894 | |
| 895 | + trace_rxrpc_rx_abort(call, sp->hdr.serial, abort_code); | |
| 896 | + | |
| 895 | 897 | _proto("Rx ABORT %%%u { %x }", sp->hdr.serial, abort_code); |
| 896 | 898 | |
| 897 | 899 | if (rxrpc_set_call_completion(call, RXRPC_CALL_REMOTELY_ABORTED, |