Attn: RDMA maintainers - see Anna's question below. > Begin forwarded message: > > From: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> > Subject: Re: [PATCH v1 01/12] rdma/ib: Add trace point macros to display human-readable values > Date: January 18, 2018 at 4:49:20 PM EST > To: Chuck Lever <chuck.lever@xxxxxxxxxx> > Cc: <linux-rdma@xxxxxxxxxxxxxxx>, <linux-nfs@xxxxxxxxxxxxxxx> > > Hi Folks, > > On 12/20/2017 04:30 PM, Chuck Lever wrote: >> These can be shared with all kernel ULPs, and more can easily be >> added as needed. >> >> Note: checkpatch.pl has some heartburn with the TRACE_DEFINE_ENUM >> macros and the LIST macros. These follow the same style as other >> header files under include/tracing/events , thus should be >> considered acceptable exceptions. >> >> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> >> --- >> include/trace/events/rdma.h | 128 +++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 128 insertions(+) >> create mode 100644 include/trace/events/rdma.h > > Just checking that it's okay to send this through the NFS tree, since it goes along with the rest of Chuck's patches? > > Thanks, > Anna >> >> diff --git a/include/trace/events/rdma.h b/include/trace/events/rdma.h >> new file mode 100644 >> index 0000000..9d02fbe >> --- /dev/null >> +++ b/include/trace/events/rdma.h >> @@ -0,0 +1,128 @@ >> +/* >> + * Copyright (c) 2017 Oracle. All rights reserved. >> + */ >> + >> +/* >> + * enum ib_event_type, from include/rdma/ib_verbs.h >> + */ >> + >> +#define IB_EVENT_LIST \ >> + ib_event(CQ_ERR) \ >> + ib_event(QP_FATAL) \ >> + ib_event(QP_REQ_ERR) \ >> + ib_event(QP_ACCESS_ERR) \ >> + ib_event(COMM_EST) \ >> + ib_event(SQ_DRAINED) \ >> + ib_event(PATH_MIG) \ >> + ib_event(PATH_MIG_ERR) \ >> + ib_event(DEVICE_FATAL) \ >> + ib_event(PORT_ACTIVE) \ >> + ib_event(PORT_ERR) \ >> + ib_event(LID_CHANGE) \ >> + ib_event(PKEY_CHANGE) \ >> + ib_event(SM_CHANGE) \ >> + ib_event(SRQ_ERR) \ >> + ib_event(SRQ_LIMIT_REACHED) \ >> + ib_event(QP_LAST_WQE_REACHED) \ >> + ib_event(CLIENT_REREGISTER) \ >> + ib_event(GID_CHANGE) \ >> + ib_event_end(WQ_FATAL) >> + >> +#undef ib_event >> +#undef ib_event_end >> + >> +#define ib_event(x) TRACE_DEFINE_ENUM(IB_EVENT_##x); >> +#define ib_event_end(x) TRACE_DEFINE_ENUM(IB_EVENT_##x); >> + >> +IB_EVENT_LIST >> + >> +#undef ib_event >> +#undef ib_event_end >> + >> +#define ib_event(x) { IB_EVENT_##x, #x }, >> +#define ib_event_end(x) { IB_EVENT_##x, #x } >> + >> +#define rdma_show_ib_event(x) \ >> + __print_symbolic(x, IB_EVENT_LIST) >> + >> +/* >> + * enum ib_wc_status type, from include/rdma/ib_verbs.h >> + */ >> +#define IB_WC_STATUS_LIST \ >> + ib_wc_status(SUCCESS) \ >> + ib_wc_status(LOC_LEN_ERR) \ >> + ib_wc_status(LOC_QP_OP_ERR) \ >> + ib_wc_status(LOC_EEC_OP_ERR) \ >> + ib_wc_status(LOC_PROT_ERR) \ >> + ib_wc_status(WR_FLUSH_ERR) \ >> + ib_wc_status(MW_BIND_ERR) \ >> + ib_wc_status(BAD_RESP_ERR) \ >> + ib_wc_status(LOC_ACCESS_ERR) \ >> + ib_wc_status(REM_INV_REQ_ERR) \ >> + ib_wc_status(REM_ACCESS_ERR) \ >> + ib_wc_status(REM_OP_ERR) \ >> + ib_wc_status(RETRY_EXC_ERR) \ >> + ib_wc_status(RNR_RETRY_EXC_ERR) \ >> + ib_wc_status(LOC_RDD_VIOL_ERR) \ >> + ib_wc_status(REM_INV_RD_REQ_ERR) \ >> + ib_wc_status(REM_ABORT_ERR) \ >> + ib_wc_status(INV_EECN_ERR) \ >> + ib_wc_status(INV_EEC_STATE_ERR) \ >> + ib_wc_status(FATAL_ERR) \ >> + ib_wc_status(RESP_TIMEOUT_ERR) \ >> + ib_wc_status_end(GENERAL_ERR) >> + >> +#undef ib_wc_status >> +#undef ib_wc_status_end >> + >> +#define ib_wc_status(x) TRACE_DEFINE_ENUM(IB_WC_##x); >> +#define ib_wc_status_end(x) TRACE_DEFINE_ENUM(IB_WC_##x); >> + >> +IB_WC_STATUS_LIST >> + >> +#undef ib_wc_status >> +#undef ib_wc_status_end >> + >> +#define ib_wc_status(x) { IB_WC_##x, #x }, >> +#define ib_wc_status_end(x) { IB_WC_##x, #x } >> + >> +#define rdma_show_wc_status(x) \ >> + __print_symbolic(x, IB_WC_STATUS_LIST) >> + >> +/* >> + * enum rdma_cm_event_type, from include/rdma/rdma_cm.h >> + */ >> +#define RDMA_CM_EVENT_LIST \ >> + rdma_cm_event(ADDR_RESOLVED) \ >> + rdma_cm_event(ADDR_ERROR) \ >> + rdma_cm_event(ROUTE_RESOLVED) \ >> + rdma_cm_event(ROUTE_ERROR) \ >> + rdma_cm_event(CONNECT_REQUEST) \ >> + rdma_cm_event(CONNECT_RESPONSE) \ >> + rdma_cm_event(CONNECT_ERROR) \ >> + rdma_cm_event(UNREACHABLE) \ >> + rdma_cm_event(REJECTED) \ >> + rdma_cm_event(ESTABLISHED) \ >> + rdma_cm_event(DISCONNECTED) \ >> + rdma_cm_event(DEVICE_REMOVAL) \ >> + rdma_cm_event(MULTICAST_JOIN) \ >> + rdma_cm_event(MULTICAST_ERROR) \ >> + rdma_cm_event(ADDR_CHANGE) \ >> + rdma_cm_event_end(TIMEWAIT_EXIT) >> + >> +#undef rdma_cm_event >> +#undef rdma_cm_event_end >> + >> +#define rdma_cm_event(x) TRACE_DEFINE_ENUM(RDMA_CM_EVENT_##x); >> +#define rdma_cm_event_end(x) TRACE_DEFINE_ENUM(RDMA_CM_EVENT_##x); >> + >> +RDMA_CM_EVENT_LIST >> + >> +#undef rdma_cm_event >> +#undef rdma_cm_event_end >> + >> +#define rdma_cm_event(x) { RDMA_CM_EVENT_##x, #x }, >> +#define rdma_cm_event_end(x) { RDMA_CM_EVENT_##x, #x } >> + >> +#define rdma_show_cm_event(x) \ >> + __print_symbolic(x, RDMA_CM_EVENT_LIST) >> -- Chuck Lever -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html