mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
2.9 KiB
125 lines
2.9 KiB
/* SPDX-License-Identifier: GPL-2.0 */ |
|
|
|
#undef TRACE_SYSTEM |
|
#define TRACE_SYSTEM smc |
|
|
|
#if !defined(_TRACE_SMC_H) || defined(TRACE_HEADER_MULTI_READ) |
|
#define _TRACE_SMC_H |
|
|
|
#include <linux/ipv6.h> |
|
#include <linux/tcp.h> |
|
#include <linux/tracepoint.h> |
|
#include <net/ipv6.h> |
|
#include "smc.h" |
|
#include "smc_core.h" |
|
|
|
TRACE_EVENT(smc_switch_to_fallback, |
|
|
|
TP_PROTO(const struct smc_sock *smc, int fallback_rsn), |
|
|
|
TP_ARGS(smc, fallback_rsn), |
|
|
|
TP_STRUCT__entry( |
|
__field(const void *, sk) |
|
__field(const void *, clcsk) |
|
__field(u64, net_cookie) |
|
__field(int, fallback_rsn) |
|
), |
|
|
|
TP_fast_assign( |
|
const struct sock *sk = &smc->sk; |
|
const struct sock *clcsk = smc->clcsock->sk; |
|
|
|
__entry->sk = sk; |
|
__entry->clcsk = clcsk; |
|
__entry->net_cookie = sock_net(sk)->net_cookie; |
|
__entry->fallback_rsn = fallback_rsn; |
|
), |
|
|
|
TP_printk("sk=%p clcsk=%p net=%llu fallback_rsn=%d", |
|
__entry->sk, __entry->clcsk, |
|
__entry->net_cookie, __entry->fallback_rsn) |
|
); |
|
|
|
DECLARE_EVENT_CLASS(smc_msg_event, |
|
|
|
TP_PROTO(const struct smc_sock *smc, size_t len), |
|
|
|
TP_ARGS(smc, len), |
|
|
|
TP_STRUCT__entry( |
|
__field(const void *, smc) |
|
__field(u64, net_cookie) |
|
__field(size_t, len) |
|
__string(name, smc->conn.lnk->ibname) |
|
), |
|
|
|
TP_fast_assign( |
|
const struct sock *sk = &smc->sk; |
|
|
|
__entry->smc = smc; |
|
__entry->net_cookie = sock_net(sk)->net_cookie; |
|
__entry->len = len; |
|
__assign_str(name, smc->conn.lnk->ibname); |
|
), |
|
|
|
TP_printk("smc=%p net=%llu len=%zu dev=%s", |
|
__entry->smc, __entry->net_cookie, |
|
__entry->len, __get_str(name)) |
|
); |
|
|
|
DEFINE_EVENT(smc_msg_event, smc_tx_sendmsg, |
|
|
|
TP_PROTO(const struct smc_sock *smc, size_t len), |
|
|
|
TP_ARGS(smc, len) |
|
); |
|
|
|
DEFINE_EVENT(smc_msg_event, smc_rx_recvmsg, |
|
|
|
TP_PROTO(const struct smc_sock *smc, size_t len), |
|
|
|
TP_ARGS(smc, len) |
|
); |
|
|
|
TRACE_EVENT(smcr_link_down, |
|
|
|
TP_PROTO(const struct smc_link *lnk, void *location), |
|
|
|
TP_ARGS(lnk, location), |
|
|
|
TP_STRUCT__entry( |
|
__field(const void *, lnk) |
|
__field(const void *, lgr) |
|
__field(u64, net_cookie) |
|
__field(int, state) |
|
__string(name, lnk->ibname) |
|
__field(void *, location) |
|
), |
|
|
|
TP_fast_assign( |
|
const struct smc_link_group *lgr = lnk->lgr; |
|
|
|
__entry->lnk = lnk; |
|
__entry->lgr = lgr; |
|
__entry->net_cookie = lgr->net->net_cookie; |
|
__entry->state = lnk->state; |
|
__assign_str(name, lnk->ibname); |
|
__entry->location = location; |
|
), |
|
|
|
TP_printk("lnk=%p lgr=%p net=%llu state=%d dev=%s location=%pS", |
|
__entry->lnk, __entry->lgr, __entry->net_cookie, |
|
__entry->state, __get_str(name), |
|
__entry->location) |
|
); |
|
|
|
#endif /* _TRACE_SMC_H */ |
|
|
|
#undef TRACE_INCLUDE_PATH |
|
#define TRACE_INCLUDE_PATH . |
|
|
|
#undef TRACE_INCLUDE_FILE |
|
#define TRACE_INCLUDE_FILE smc_tracepoint |
|
|
|
#include <trace/define_trace.h>
|
|
|