]>
Commit | Line | Data |
---|---|---|
48262608 TL |
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | ||
3 | #undef TRACE_SYSTEM | |
4 | #define TRACE_SYSTEM smc | |
5 | ||
6 | #if !defined(_TRACE_SMC_H) || defined(TRACE_HEADER_MULTI_READ) | |
7 | #define _TRACE_SMC_H | |
8 | ||
9 | #include <linux/ipv6.h> | |
10 | #include <linux/tcp.h> | |
11 | #include <linux/tracepoint.h> | |
12 | #include <net/ipv6.h> | |
13 | #include "smc.h" | |
14 | #include "smc_core.h" | |
15 | ||
16 | TRACE_EVENT(smc_switch_to_fallback, | |
17 | ||
18 | TP_PROTO(const struct smc_sock *smc, int fallback_rsn), | |
19 | ||
20 | TP_ARGS(smc, fallback_rsn), | |
21 | ||
22 | TP_STRUCT__entry( | |
23 | __field(const void *, sk) | |
24 | __field(const void *, clcsk) | |
a838f508 | 25 | __field(u64, net_cookie) |
48262608 TL |
26 | __field(int, fallback_rsn) |
27 | ), | |
28 | ||
29 | TP_fast_assign( | |
30 | const struct sock *sk = &smc->sk; | |
31 | const struct sock *clcsk = smc->clcsock->sk; | |
32 | ||
33 | __entry->sk = sk; | |
34 | __entry->clcsk = clcsk; | |
a838f508 | 35 | __entry->net_cookie = sock_net(sk)->net_cookie; |
48262608 TL |
36 | __entry->fallback_rsn = fallback_rsn; |
37 | ), | |
38 | ||
a838f508 TL |
39 | TP_printk("sk=%p clcsk=%p net=%llu fallback_rsn=%d", |
40 | __entry->sk, __entry->clcsk, | |
41 | __entry->net_cookie, __entry->fallback_rsn) | |
48262608 TL |
42 | ); |
43 | ||
aff3083f TL |
44 | DECLARE_EVENT_CLASS(smc_msg_event, |
45 | ||
46 | TP_PROTO(const struct smc_sock *smc, size_t len), | |
47 | ||
48 | TP_ARGS(smc, len), | |
49 | ||
50 | TP_STRUCT__entry( | |
51 | __field(const void *, smc) | |
a838f508 | 52 | __field(u64, net_cookie) |
aff3083f TL |
53 | __field(size_t, len) |
54 | __string(name, smc->conn.lnk->ibname) | |
55 | ), | |
56 | ||
57 | TP_fast_assign( | |
a838f508 TL |
58 | const struct sock *sk = &smc->sk; |
59 | ||
aff3083f | 60 | __entry->smc = smc; |
a838f508 | 61 | __entry->net_cookie = sock_net(sk)->net_cookie; |
aff3083f | 62 | __entry->len = len; |
2c92ca84 | 63 | __assign_str(name); |
aff3083f TL |
64 | ), |
65 | ||
a838f508 TL |
66 | TP_printk("smc=%p net=%llu len=%zu dev=%s", |
67 | __entry->smc, __entry->net_cookie, | |
68 | __entry->len, __get_str(name)) | |
aff3083f TL |
69 | ); |
70 | ||
71 | DEFINE_EVENT(smc_msg_event, smc_tx_sendmsg, | |
72 | ||
73 | TP_PROTO(const struct smc_sock *smc, size_t len), | |
74 | ||
75 | TP_ARGS(smc, len) | |
76 | ); | |
77 | ||
78 | DEFINE_EVENT(smc_msg_event, smc_rx_recvmsg, | |
79 | ||
80 | TP_PROTO(const struct smc_sock *smc, size_t len), | |
81 | ||
82 | TP_ARGS(smc, len) | |
83 | ); | |
84 | ||
a3a0e81b TL |
85 | TRACE_EVENT(smcr_link_down, |
86 | ||
87 | TP_PROTO(const struct smc_link *lnk, void *location), | |
88 | ||
89 | TP_ARGS(lnk, location), | |
90 | ||
91 | TP_STRUCT__entry( | |
92 | __field(const void *, lnk) | |
93 | __field(const void *, lgr) | |
a838f508 | 94 | __field(u64, net_cookie) |
a3a0e81b TL |
95 | __field(int, state) |
96 | __string(name, lnk->ibname) | |
97 | __field(void *, location) | |
98 | ), | |
99 | ||
100 | TP_fast_assign( | |
101 | const struct smc_link_group *lgr = lnk->lgr; | |
102 | ||
103 | __entry->lnk = lnk; | |
104 | __entry->lgr = lgr; | |
a838f508 | 105 | __entry->net_cookie = lgr->net->net_cookie; |
a3a0e81b | 106 | __entry->state = lnk->state; |
2c92ca84 | 107 | __assign_str(name); |
a3a0e81b TL |
108 | __entry->location = location; |
109 | ), | |
110 | ||
a838f508 TL |
111 | TP_printk("lnk=%p lgr=%p net=%llu state=%d dev=%s location=%pS", |
112 | __entry->lnk, __entry->lgr, __entry->net_cookie, | |
a3a0e81b TL |
113 | __entry->state, __get_str(name), |
114 | __entry->location) | |
115 | ); | |
116 | ||
48262608 TL |
117 | #endif /* _TRACE_SMC_H */ |
118 | ||
119 | #undef TRACE_INCLUDE_PATH | |
120 | #define TRACE_INCLUDE_PATH . | |
121 | ||
122 | #undef TRACE_INCLUDE_FILE | |
123 | #define TRACE_INCLUDE_FILE smc_tracepoint | |
124 | ||
125 | #include <trace/define_trace.h> |