trace_qp.h (2164B)
1/* SPDX-License-Identifier: GPL-2.0 or BSD-3-Clause */ 2/* 3 * Copyright(c) 2016 Intel Corporation. 4 */ 5#if !defined(__RVT_TRACE_QP_H) || defined(TRACE_HEADER_MULTI_READ) 6#define __RVT_TRACE_QP_H 7 8#include <linux/tracepoint.h> 9#include <linux/trace_seq.h> 10 11#include <rdma/ib_verbs.h> 12#include <rdma/rdmavt_qp.h> 13 14#undef TRACE_SYSTEM 15#define TRACE_SYSTEM rvt_qp 16 17DECLARE_EVENT_CLASS(rvt_qphash_template, 18 TP_PROTO(struct rvt_qp *qp, u32 bucket), 19 TP_ARGS(qp, bucket), 20 TP_STRUCT__entry( 21 RDI_DEV_ENTRY(ib_to_rvt(qp->ibqp.device)) 22 __field(u32, qpn) 23 __field(u32, bucket) 24 ), 25 TP_fast_assign( 26 RDI_DEV_ASSIGN(ib_to_rvt(qp->ibqp.device)); 27 __entry->qpn = qp->ibqp.qp_num; 28 __entry->bucket = bucket; 29 ), 30 TP_printk( 31 "[%s] qpn 0x%x bucket %u", 32 __get_str(dev), 33 __entry->qpn, 34 __entry->bucket 35 ) 36); 37 38DEFINE_EVENT(rvt_qphash_template, rvt_qpinsert, 39 TP_PROTO(struct rvt_qp *qp, u32 bucket), 40 TP_ARGS(qp, bucket)); 41 42DEFINE_EVENT(rvt_qphash_template, rvt_qpremove, 43 TP_PROTO(struct rvt_qp *qp, u32 bucket), 44 TP_ARGS(qp, bucket)); 45 46DECLARE_EVENT_CLASS( 47 rvt_rnrnak_template, 48 TP_PROTO(struct rvt_qp *qp, u32 to), 49 TP_ARGS(qp, to), 50 TP_STRUCT__entry( 51 RDI_DEV_ENTRY(ib_to_rvt(qp->ibqp.device)) 52 __field(u32, qpn) 53 __field(void *, hrtimer) 54 __field(u32, s_flags) 55 __field(u32, to) 56 ), 57 TP_fast_assign( 58 RDI_DEV_ASSIGN(ib_to_rvt(qp->ibqp.device)); 59 __entry->qpn = qp->ibqp.qp_num; 60 __entry->hrtimer = &qp->s_rnr_timer; 61 __entry->s_flags = qp->s_flags; 62 __entry->to = to; 63 ), 64 TP_printk( 65 "[%s] qpn 0x%x hrtimer 0x%p s_flags 0x%x timeout %u us", 66 __get_str(dev), 67 __entry->qpn, 68 __entry->hrtimer, 69 __entry->s_flags, 70 __entry->to 71 ) 72); 73 74DEFINE_EVENT( 75 rvt_rnrnak_template, rvt_rnrnak_add, 76 TP_PROTO(struct rvt_qp *qp, u32 to), 77 TP_ARGS(qp, to)); 78 79DEFINE_EVENT( 80 rvt_rnrnak_template, rvt_rnrnak_timeout, 81 TP_PROTO(struct rvt_qp *qp, u32 to), 82 TP_ARGS(qp, to)); 83 84DEFINE_EVENT( 85 rvt_rnrnak_template, rvt_rnrnak_stop, 86 TP_PROTO(struct rvt_qp *qp, u32 to), 87 TP_ARGS(qp, to)); 88 89#endif /* __RVT_TRACE_QP_H */ 90 91#undef TRACE_INCLUDE_PATH 92#undef TRACE_INCLUDE_FILE 93#define TRACE_INCLUDE_PATH . 94#define TRACE_INCLUDE_FILE trace_qp 95#include <trace/define_trace.h> 96