aboutsummaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-10-05 13:11:24 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-10-05 13:11:24 -0400
commit687ee0ad4e897e29f4b41f7a20c866d74c5e0660 (patch)
treeb31a2af35c24a54823674cdd126993b80daeac67 /include/trace
parent3ddf40e8c31964b744ff10abb48c8e36a83ec6e7 (diff)
parent03a1eabc3f54469abd4f1784182851b2e29630cc (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Pull networking updates from David Miller: 1) BBR TCP congestion control, from Neal Cardwell, Yuchung Cheng and co. at Google. https://lwn.net/Articles/701165/ 2) Do TCP Small Queues for retransmits, from Eric Dumazet. 3) Support collect_md mode for all IPV4 and IPV6 tunnels, from Alexei Starovoitov. 4) Allow cls_flower to classify packets in ip tunnels, from Amir Vadai. 5) Support DSA tagging in older mv88e6xxx switches, from Andrew Lunn. 6) Support GMAC protocol in iwlwifi mwm, from Ayala Beker. 7) Support ndo_poll_controller in mlx5, from Calvin Owens. 8) Move VRF processing to an output hook and allow l3mdev to be loopback, from David Ahern. 9) Support SOCK_DESTROY for UDP sockets. Also from David Ahern. 10) Congestion control in RXRPC, from David Howells. 11) Support geneve RX offload in ixgbe, from Emil Tantilov. 12) When hitting pressure for new incoming TCP data SKBs, perform a partial rathern than a full purge of the OFO queue (which could be huge). From Eric Dumazet. 13) Convert XFRM state and policy lookups to RCU, from Florian Westphal. 14) Support RX network flow classification to igb, from Gangfeng Huang. 15) Hardware offloading of eBPF in nfp driver, from Jakub Kicinski. 16) New skbmod packet action, from Jamal Hadi Salim. 17) Remove some inefficiencies in snmp proc output, from Jia He. 18) Add FIB notifications to properly propagate route changes to hardware which is doing forwarding offloading. From Jiri Pirko. 19) New dsa driver for qca8xxx chips, from John Crispin. 20) Implement RFC7559 ipv6 router solicitation backoff, from Maciej Żenczykowski. 21) Add L3 mode to ipvlan, from Mahesh Bandewar. 22) Support 802.1ad in mlx4, from Moshe Shemesh. 23) Support hardware LRO in mediatek driver, from Nelson Chang. 24) Add TC offloading to mlx5, from Or Gerlitz. 25) Convert various drivers to ethtool ksettings interfaces, from Philippe Reynes. 26) TX max rate limiting for cxgb4, from Rahul Lakkireddy. 27) NAPI support for ath10k, from Rajkumar Manoharan. 28) Support XDP in mlx5, from Rana Shahout and Saeed Mahameed. 29) UDP replicast support in TIPC, from Richard Alpe. 30) Per-queue statistics for qed driver, from Sudarsana Reddy Kalluru. 31) Support BQL in thunderx driver, from Sunil Goutham. 32) TSO support in alx driver, from Tobias Regnery. 33) Add stream parser engine and use it in kcm. 34) Support async DHCP replies in ipconfig module, from Uwe Kleine-König. 35) DSA port fast aging for mv88e6xxx driver, from Vivien Didelot. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1715 commits) mlxsw: switchx2: Fix misuse of hard_header_len mlxsw: spectrum: Fix misuse of hard_header_len net/faraday: Stop NCSI device on shutdown net/ncsi: Introduce ncsi_stop_dev() net/ncsi: Rework the channel monitoring net/ncsi: Allow to extend NCSI request properties net/ncsi: Rework request index allocation net/ncsi: Don't probe on the reserved channel ID (0x1f) net/ncsi: Introduce NCSI_RESERVED_CHANNEL net/ncsi: Avoid unused-value build warning from ia64-linux-gcc net: Add netdev all_adj_list refcnt propagation to fix panic net: phy: Add Edge-rate driver for Microsemi PHYs. vmxnet3: Wake queue from reset work i40e: avoid NULL pointer dereference and recursive errors on early PCI error qed: Add RoCE ll2 & GSI support qed: Add support for memory registeration verbs qed: Add support for QP verbs qed: PD,PKEY and CQ verb support qed: Add support for RoCE hw init qede: Add qedr framework ...
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/events/rxrpc.h625
1 files changed, 625 insertions, 0 deletions
diff --git a/include/trace/events/rxrpc.h b/include/trace/events/rxrpc.h
new file mode 100644
index 000000000000..0383e5e9a0f3
--- /dev/null
+++ b/include/trace/events/rxrpc.h
@@ -0,0 +1,625 @@
1/* AF_RXRPC tracepoints
2 *
3 * Copyright (C) 2016 Red Hat, Inc. All Rights Reserved.
4 * Written by David Howells (dhowells@redhat.com)
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public Licence
8 * as published by the Free Software Foundation; either version
9 * 2 of the Licence, or (at your option) any later version.
10 */
11#undef TRACE_SYSTEM
12#define TRACE_SYSTEM rxrpc
13
14#if !defined(_TRACE_RXRPC_H) || defined(TRACE_HEADER_MULTI_READ)
15#define _TRACE_RXRPC_H
16
17#include <linux/tracepoint.h>
18
19TRACE_EVENT(rxrpc_conn,
20 TP_PROTO(struct rxrpc_connection *conn, enum rxrpc_conn_trace op,
21 int usage, const void *where),
22
23 TP_ARGS(conn, op, usage, where),
24
25 TP_STRUCT__entry(
26 __field(struct rxrpc_connection *, conn )
27 __field(int, op )
28 __field(int, usage )
29 __field(const void *, where )
30 ),
31
32 TP_fast_assign(
33 __entry->conn = conn;
34 __entry->op = op;
35 __entry->usage = usage;
36 __entry->where = where;
37 ),
38
39 TP_printk("C=%p %s u=%d sp=%pSR",
40 __entry->conn,
41 rxrpc_conn_traces[__entry->op],
42 __entry->usage,
43 __entry->where)
44 );
45
46TRACE_EVENT(rxrpc_client,
47 TP_PROTO(struct rxrpc_connection *conn, int channel,
48 enum rxrpc_client_trace op),
49
50 TP_ARGS(conn, channel, op),
51
52 TP_STRUCT__entry(
53 __field(struct rxrpc_connection *, conn )
54 __field(u32, cid )
55 __field(int, channel )
56 __field(int, usage )
57 __field(enum rxrpc_client_trace, op )
58 __field(enum rxrpc_conn_cache_state, cs )
59 ),
60
61 TP_fast_assign(
62 __entry->conn = conn;
63 __entry->channel = channel;
64 __entry->usage = atomic_read(&conn->usage);
65 __entry->op = op;
66 __entry->cid = conn->proto.cid;
67 __entry->cs = conn->cache_state;
68 ),
69
70 TP_printk("C=%p h=%2d %s %s i=%08x u=%d",
71 __entry->conn,
72 __entry->channel,
73 rxrpc_client_traces[__entry->op],
74 rxrpc_conn_cache_states[__entry->cs],
75 __entry->cid,
76 __entry->usage)
77 );
78
79TRACE_EVENT(rxrpc_call,
80 TP_PROTO(struct rxrpc_call *call, enum rxrpc_call_trace op,
81 int usage, const void *where, const void *aux),
82
83 TP_ARGS(call, op, usage, where, aux),
84
85 TP_STRUCT__entry(
86 __field(struct rxrpc_call *, call )
87 __field(int, op )
88 __field(int, usage )
89 __field(const void *, where )
90 __field(const void *, aux )
91 ),
92
93 TP_fast_assign(
94 __entry->call = call;
95 __entry->op = op;
96 __entry->usage = usage;
97 __entry->where = where;
98 __entry->aux = aux;
99 ),
100
101 TP_printk("c=%p %s u=%d sp=%pSR a=%p",
102 __entry->call,
103 rxrpc_call_traces[__entry->op],
104 __entry->usage,
105 __entry->where,
106 __entry->aux)
107 );
108
109TRACE_EVENT(rxrpc_skb,
110 TP_PROTO(struct sk_buff *skb, enum rxrpc_skb_trace op,
111 int usage, int mod_count, const void *where),
112
113 TP_ARGS(skb, op, usage, mod_count, where),
114
115 TP_STRUCT__entry(
116 __field(struct sk_buff *, skb )
117 __field(enum rxrpc_skb_trace, op )
118 __field(int, usage )
119 __field(int, mod_count )
120 __field(const void *, where )
121 ),
122
123 TP_fast_assign(
124 __entry->skb = skb;
125 __entry->op = op;
126 __entry->usage = usage;
127 __entry->mod_count = mod_count;
128 __entry->where = where;
129 ),
130
131 TP_printk("s=%p %s u=%d m=%d p=%pSR",
132 __entry->skb,
133 rxrpc_skb_traces[__entry->op],
134 __entry->usage,
135 __entry->mod_count,
136 __entry->where)
137 );
138
139TRACE_EVENT(rxrpc_rx_packet,
140 TP_PROTO(struct rxrpc_skb_priv *sp),
141
142 TP_ARGS(sp),
143
144 TP_STRUCT__entry(
145 __field_struct(struct rxrpc_host_header, hdr )
146 ),
147
148 TP_fast_assign(
149 memcpy(&__entry->hdr, &sp->hdr, sizeof(__entry->hdr));
150 ),
151
152 TP_printk("%08x:%08x:%08x:%04x %08x %08x %02x %02x %s",
153 __entry->hdr.epoch, __entry->hdr.cid,
154 __entry->hdr.callNumber, __entry->hdr.serviceId,
155 __entry->hdr.serial, __entry->hdr.seq,
156 __entry->hdr.type, __entry->hdr.flags,
157 __entry->hdr.type <= 15 ? rxrpc_pkts[__entry->hdr.type] : "?UNK")
158 );
159
160TRACE_EVENT(rxrpc_rx_done,
161 TP_PROTO(int result, int abort_code),
162
163 TP_ARGS(result, abort_code),
164
165 TP_STRUCT__entry(
166 __field(int, result )
167 __field(int, abort_code )
168 ),
169
170 TP_fast_assign(
171 __entry->result = result;
172 __entry->abort_code = abort_code;
173 ),
174
175 TP_printk("r=%d a=%d", __entry->result, __entry->abort_code)
176 );
177
178TRACE_EVENT(rxrpc_abort,
179 TP_PROTO(const char *why, u32 cid, u32 call_id, rxrpc_seq_t seq,
180 int abort_code, int error),
181
182 TP_ARGS(why, cid, call_id, seq, abort_code, error),
183
184 TP_STRUCT__entry(
185 __array(char, why, 4 )
186 __field(u32, cid )
187 __field(u32, call_id )
188 __field(rxrpc_seq_t, seq )
189 __field(int, abort_code )
190 __field(int, error )
191