aboutsummaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2016-09-29 17:37:15 -0400
committerDavid Howells <dhowells@redhat.com>2016-09-29 17:37:15 -0400
commita1767077b0176de17fa40ec743a20cbdac7a0d56 (patch)
treef995552f0eb497f14dd482d972de06cc46b6b586 /include/trace
parent8732db67c6b6dcdb455b73773ea2fc1e1d5024b1 (diff)
rxrpc: Make Tx loss-injection go through normal return and adjust tracing
In rxrpc_send_data_packet() make the loss-injection path return through the same code as the transmission path so that the RTT determination is initiated and any future timer shuffling will be done, despite the packet having been binned. Whilst we're at it: (1) Add to the tx_data tracepoint an indication of whether or not we're retransmitting a data packet. (2) When we're deciding whether or not to request an ACK, rather than checking if we're in fast-retransmit mode check instead if we're retransmitting. (3) Don't invoke the lose_skb tracepoint when losing a Tx packet as we're not altering the sk_buff refcount nor are we just seeing it after getting it off the Tx list. (4) The rxrpc_skb_tx_lost note is then no longer used so remove it. (5) rxrpc_lose_skb() no longer needs to deal with rxrpc_skb_tx_lost. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/events/rxrpc.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/trace/events/rxrpc.h b/include/trace/events/rxrpc.h
index ada12d00118c..8ba8d76e856a 100644
--- a/include/trace/events/rxrpc.h
+++ b/include/trace/events/rxrpc.h
@@ -258,15 +258,16 @@ TRACE_EVENT(rxrpc_rx_ack,
258 258
259TRACE_EVENT(rxrpc_tx_data, 259TRACE_EVENT(rxrpc_tx_data,
260 TP_PROTO(struct rxrpc_call *call, rxrpc_seq_t seq, 260 TP_PROTO(struct rxrpc_call *call, rxrpc_seq_t seq,
261 rxrpc_serial_t serial, u8 flags, bool lose), 261 rxrpc_serial_t serial, u8 flags, bool retrans, bool lose),
262 262
263 TP_ARGS(call, seq, serial, flags, lose), 263 TP_ARGS(call, seq, serial, flags, retrans, lose),
264 264
265 TP_STRUCT__entry( 265 TP_STRUCT__entry(
266 __field(struct rxrpc_call *, call ) 266 __field(struct rxrpc_call *, call )
267 __field(rxrpc_seq_t, seq ) 267 __field(rxrpc_seq_t, seq )
268 __field(rxrpc_serial_t, serial ) 268 __field(rxrpc_serial_t, serial )
269 __field(u8, flags ) 269 __field(u8, flags )
270 __field(bool, retrans )
270 __field(bool, lose ) 271 __field(bool, lose )
271 ), 272 ),
272 273
@@ -275,6 +276,7 @@ TRACE_EVENT(rxrpc_tx_data,
275 __entry->seq = seq; 276 __entry->seq = seq;
276 __entry->serial = serial; 277 __entry->serial = serial;
277 __entry->flags = flags; 278 __entry->flags = flags;
279 __entry->retrans = retrans;
278 __entry->lose = lose; 280 __entry->lose = lose;
279 ), 281 ),
280 282