summaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-05-02 19:40:27 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-05-02 19:40:27 -0400
commit8d65b08debc7e62b2c6032d7fe7389d895b92cbc (patch)
tree0c3141b60c3a03cc32742b5750c5e763b9dae489 /include/trace
parent5a0387a8a8efb90ae7fea1e2e5c62de3efa74691 (diff)
parent5d15af6778b8e4ed1fd41b040283af278e7a9a72 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Pull networking updates from David Millar: "Here are some highlights from the 2065 networking commits that happened this development cycle: 1) XDP support for IXGBE (John Fastabend) and thunderx (Sunil Kowuri) 2) Add a generic XDP driver, so that anyone can test XDP even if they lack a networking device whose driver has explicit XDP support (me). 3) Sparc64 now has an eBPF JIT too (me) 4) Add a BPF program testing framework via BPF_PROG_TEST_RUN (Alexei Starovoitov) 5) Make netfitler network namespace teardown less expensive (Florian Westphal) 6) Add symmetric hashing support to nft_hash (Laura Garcia Liebana) 7) Implement NAPI and GRO in netvsc driver (Stephen Hemminger) 8) Support TC flower offload statistics in mlxsw (Arkadi Sharshevsky) 9) Multiqueue support in stmmac driver (Joao Pinto) 10) Remove TCP timewait recycling, it never really could possibly work well in the real world and timestamp randomization really zaps any hint of usability this feature had (Soheil Hassas Yeganeh) 11) Support level3 vs level4 ECMP route hashing in ipv4 (Nikolay Aleksandrov) 12) Add socket busy poll support to epoll (Sridhar Samudrala) 13) Netlink extended ACK support (Johannes Berg, Pablo Neira Ayuso, and several others) 14) IPSEC hw offload infrastructure (Steffen Klassert)" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (2065 commits) tipc: refactor function tipc_sk_recv_stream() tipc: refactor function tipc_sk_recvmsg() net: thunderx: Optimize page recycling for XDP net: thunderx: Support for XDP header adjustment net: thunderx: Add support for XDP_TX net: thunderx: Add support for XDP_DROP net: thunderx: Add basic XDP support net: thunderx: Cleanup receive buffer allocation net: thunderx: Optimize CQE_TX handling net: thunderx: Optimize RBDR descriptor handling net: thunderx: Support for page recycling ipx: call ipxitf_put() in ioctl error path net: sched: add helpers to handle extended actions qed*: Fix issues in the ptp filter config implementation. qede: Fix concurrency issue in PTP Tx path processing. stmmac: Add support for SIMATIC IOT2000 platform net: hns: fix ethtool_get_strings overflow in hns driver tcp: fix wraparound issue in tcp_lp bpf, arm64: fix jit branch offset related to ldimm64 bpf, arm64: implement jiting of BPF_XADD ...
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/events/bpf.h10
-rw-r--r--include/trace/events/rxrpc.h101
2 files changed, 108 insertions, 3 deletions
diff --git a/include/trace/events/bpf.h b/include/trace/events/bpf.h
index c3a53fd47ff1..52c8425d144b 100644
--- a/include/trace/events/bpf.h
+++ b/include/trace/events/bpf.h
@@ -321,11 +321,14 @@ TRACE_EVENT(bpf_map_next_key,
321 __dynamic_array(u8, key, map->key_size) 321 __dynamic_array(u8, key, map->key_size)
322 __dynamic_array(u8, nxt, map->key_size) 322 __dynamic_array(u8, nxt, map->key_size)
323 __field(bool, key_trunc) 323 __field(bool, key_trunc)
324 __field(bool, key_null)
324 __field(int, ufd) 325 __field(int, ufd)
325 ), 326 ),
326 327
327 TP_fast_assign( 328 TP_fast_assign(
328 memcpy(__get_dynamic_array(key), key, map->key_size); 329 if (key)
330 memcpy(__get_dynamic_array(key), key, map->key_size);
331 __entry->key_null = !key;
329 memcpy(__get_dynamic_array(nxt), key_next, map->key_size); 332 memcpy(__get_dynamic_array(nxt), key_next, map->key_size);
330 __entry->type = map->map_type; 333 __entry->type = map->map_type;
331 __entry->key_len = min(map->key_size, 16U); 334 __entry->key_len = min(map->key_size, 16U);
@@ -336,8 +339,9 @@ TRACE_EVENT(bpf_map_next_key,
336 TP_printk("map type=%s ufd=%d key=[%s%s] next=[%s%s]", 339 TP_printk("map type=%s ufd=%d key=[%s%s] next=[%s%s]",
337 __print_symbolic(__entry->type, __MAP_TYPE_SYM_TAB), 340 __print_symbolic(__entry->type, __MAP_TYPE_SYM_TAB),
338 __entry->ufd, 341 __entry->ufd,
339 __print_hex(__get_dynamic_array(key), __entry->key_len), 342 __entry->key_null ? "NULL" : __print_hex(__get_dynamic_array(key),
340 __entry->key_trunc ? " ..." : "", 343 __entry->key_len),
344 __entry->key_trunc && !__entry->key_null ? " ..." : "",
341 __print_hex(__get_dynamic_array(nxt), __entry->key_len), 345 __print_hex(__get_dynamic_array(nxt), __entry->key_len),
342 __entry->key_trunc ? " ..." : "") 346 __entry->key_trunc ? " ..." : "")
343); 347);
diff --git a/include/trace/events/rxrpc.h b/include/trace/events/rxrpc.h
index 39123c06a566..29a3d53a4015 100644
--- a/include/trace/events/rxrpc.h
+++ b/include/trace/events/rxrpc.h
@@ -683,6 +683,57 @@ TRACE_EVENT(rxrpc_rx_ack,
683 __entry->n_acks) 683 __entry->n_acks)
684 ); 684 );
685 685
686TRACE_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
710TRACE_EVENT(rxrpc_rx_rwind_change,
711 TP_PROTO(struct rxrpc_call *call, rxrpc_serial_t serial,
712 u32 rwind, bool wake),
713
714 TP_ARGS(call, serial, rwind, wake),
715
716 TP_STRUCT__entry(
717 __field(struct rxrpc_call *, call )
718 __field(rxrpc_serial_t, serial )
719 __field(u32, rwind )
720 __field(bool, wake )
721 ),
722
723 TP_fast_assign(
724 __entry->call = call;
725 __entry->serial = serial;
726 __entry->rwind = rwind;
727 __entry->wake = wake;
728 ),
729
730 TP_printk("c=%p %08x rw=%u%s",
731 __entry->call,
732 __entry->serial,
733 __entry->rwind,
734 __entry->wake ? " wake" : "")
735 );
736
686TRACE_EVENT(rxrpc_tx_data, 737TRACE_EVENT(rxrpc_tx_data,
687 TP_PROTO(struct rxrpc_call *call, rxrpc_seq_t seq, 738 TP_PROTO(struct rxrpc_call *call, rxrpc_seq_t seq,
688 rxrpc_serial_t serial, u8 flags, bool retrans, bool lose), 739 rxrpc_serial_t serial, u8 flags, bool retrans, bool lose),
@@ -1087,6 +1138,56 @@ TRACE_EVENT(rxrpc_improper_term,
1087 __entry->abort_code) 1138 __entry->abort_code)
1088 ); 1139 );
1089 1140
1141TRACE_EVENT(rxrpc_rx_eproto,
1142 TP_PROTO(struct rxrpc_call *call, rxrpc_serial_t serial,
1143 const char *why),
1144
1145 TP_ARGS(call, serial, why),
1146
1147 TP_STRUCT__entry(
1148 __field(struct rxrpc_call *, call )
1149 __field(rxrpc_serial_t, serial )
1150 __field(const char *, why )
1151 ),
1152
1153 TP_fast_assign(
1154 __entry->call = call;
1155 __entry->serial = serial;
1156 __entry->why = why;
1157 ),
1158
1159 TP_printk("c=%p EPROTO %08x %s",
1160 __entry->call,
1161 __entry->serial,
1162 __entry->why)
1163 );
1164
1165TRACE_EVENT(rxrpc_connect_call,
1166 TP_PROTO(struct rxrpc_call *call),
1167
1168 TP_ARGS(call),
1169
1170 TP_STRUCT__entry(
1171 __field(struct rxrpc_call *, call )
1172 __field(unsigned long, user_call_ID )
1173 __field(u32, cid )
1174 __field(u32, call_id )
1175 ),
1176
1177 TP_fast_assign(
1178 __entry->call = call;
1179 __entry->user_call_ID = call->user_call_ID;
1180 __entry->cid = call->cid;
1181 __entry->call_id = call->call_id;
1182 ),
1183
1184 TP_printk("c=%p u=%p %08x:%08x",
1185 __entry->call,
1186 (void *)__entry->user_call_ID,
1187 __entry->cid,
1188 __entry->call_id)
1189 );
1190
1090#endif /* _TRACE_RXRPC_H */ 1191#endif /* _TRACE_RXRPC_H */
1091 1192
1092/* This part must be outside protection */ 1193/* This part must be outside protection */