Commit e1648eb2 authored by Chuck Lever's avatar Chuck Lever Committed by Trond Myklebust
Browse files

xprtrdma: Remove the RPC/RDMA QP event handler



Clean up: The handler only recorded a trace event. If indeed no
action is needed by the RPC/RDMA consumer, then the event can be
ignored.

Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent 83189d15
Loading
Loading
Loading
Loading
+0 −32
Original line number Diff line number Diff line
@@ -577,38 +577,6 @@ TRACE_EVENT(xprtrdma_op_set_cto,
	)
);

TRACE_EVENT(xprtrdma_qp_event,
	TP_PROTO(
		const struct rpcrdma_ep *ep,
		const struct ib_event *event
	),

	TP_ARGS(ep, event),

	TP_STRUCT__entry(
		__field(unsigned long, event)
		__string(name, event->device->name)
		__array(unsigned char, srcaddr, sizeof(struct sockaddr_in6))
		__array(unsigned char, dstaddr, sizeof(struct sockaddr_in6))
	),

	TP_fast_assign(
		const struct rdma_cm_id *id = ep->re_id;

		__entry->event = event->event;
		__assign_str(name, event->device->name);
		memcpy(__entry->srcaddr, &id->route.addr.src_addr,
		       sizeof(struct sockaddr_in6));
		memcpy(__entry->dstaddr, &id->route.addr.dst_addr,
		       sizeof(struct sockaddr_in6));
	),

	TP_printk("%pISpc -> %pISpc device=%s %s (%lu)",
		__entry->srcaddr, __entry->dstaddr, __get_str(name),
		rdma_show_ib_event(__entry->event), __entry->event
	)
);

/**
 ** Call events
 **/
+0 −18
Original line number Diff line number Diff line
@@ -120,22 +120,6 @@ static void rpcrdma_xprt_drain(struct rpcrdma_xprt *r_xprt)
	rpcrdma_ep_put(ep);
}

/**
 * rpcrdma_qp_event_handler - Handle one QP event (error notification)
 * @event: details of the event
 * @context: ep that owns QP where event occurred
 *
 * Called from the RDMA provider (device driver) possibly in an interrupt
 * context. The QP is always destroyed before the ID, so the ID will be
 * reliably available when this handler is invoked.
 */
static void rpcrdma_qp_event_handler(struct ib_event *event, void *context)
{
	struct rpcrdma_ep *ep = context;

	trace_xprtrdma_qp_event(ep, event);
}

/* Ensure xprt_force_disconnect() is invoked exactly once when a
 * connection is closed or lost. (The important thing is it needs
 * to be invoked "at least" once).
@@ -431,8 +415,6 @@ static int rpcrdma_ep_create(struct rpcrdma_xprt *r_xprt)

	r_xprt->rx_buf.rb_max_requests = cpu_to_be32(ep->re_max_requests);

	ep->re_attr.event_handler = rpcrdma_qp_event_handler;
	ep->re_attr.qp_context = ep;
	ep->re_attr.srq = NULL;
	ep->re_attr.cap.max_inline_data = 0;
	ep->re_attr.sq_sig_type = IB_SIGNAL_REQ_WR;