Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 496b77a5 authored by Chuck Lever's avatar Chuck Lever Committed by Anna Schumaker
Browse files

xprtrdma: Eliminate rpcrdma_receive_worker()



Clean up: the extra layer of indirection doesn't add value.

Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent 1519e969
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -977,8 +977,10 @@ rpcrdma_conn_func(struct rpcrdma_ep *ep)
 * allowed to timeout, to discover the errors at that time.
 * allowed to timeout, to discover the errors at that time.
 */
 */
void
void
rpcrdma_reply_handler(struct rpcrdma_rep *rep)
rpcrdma_reply_handler(struct work_struct *work)
{
{
	struct rpcrdma_rep *rep =
			container_of(work, struct rpcrdma_rep, rr_work);
	struct rpcrdma_msg *headerp;
	struct rpcrdma_msg *headerp;
	struct rpcrdma_req *req;
	struct rpcrdma_req *req;
	struct rpc_rqst *rqst;
	struct rpc_rqst *rqst;
+1 −10
Original line number Original line Diff line number Diff line
@@ -129,15 +129,6 @@ rpcrdma_wc_send(struct ib_cq *cq, struct ib_wc *wc)
		       wc->status, wc->vendor_err);
		       wc->status, wc->vendor_err);
}
}


static void
rpcrdma_receive_worker(struct work_struct *work)
{
	struct rpcrdma_rep *rep =
			container_of(work, struct rpcrdma_rep, rr_work);

	rpcrdma_reply_handler(rep);
}

/* Perform basic sanity checking to avoid using garbage
/* Perform basic sanity checking to avoid using garbage
 * to update the credit grant value.
 * to update the credit grant value.
 */
 */
@@ -919,7 +910,7 @@ rpcrdma_create_rep(struct rpcrdma_xprt *r_xprt)
	rep->rr_device = ia->ri_device;
	rep->rr_device = ia->ri_device;
	rep->rr_cqe.done = rpcrdma_wc_receive;
	rep->rr_cqe.done = rpcrdma_wc_receive;
	rep->rr_rxprt = r_xprt;
	rep->rr_rxprt = r_xprt;
	INIT_WORK(&rep->rr_work, rpcrdma_receive_worker);
	INIT_WORK(&rep->rr_work, rpcrdma_reply_handler);
	rep->rr_recv_wr.next = NULL;
	rep->rr_recv_wr.next = NULL;
	rep->rr_recv_wr.wr_cqe = &rep->rr_cqe;
	rep->rr_recv_wr.wr_cqe = &rep->rr_cqe;
	rep->rr_recv_wr.sg_list = &rep->rr_rdmabuf->rg_iov;
	rep->rr_recv_wr.sg_list = &rep->rr_rdmabuf->rg_iov;
+1 −1
Original line number Original line Diff line number Diff line
@@ -535,7 +535,7 @@ rpcrdma_data_dir(bool writing)
 */
 */
void rpcrdma_connect_worker(struct work_struct *);
void rpcrdma_connect_worker(struct work_struct *);
void rpcrdma_conn_func(struct rpcrdma_ep *);
void rpcrdma_conn_func(struct rpcrdma_ep *);
void rpcrdma_reply_handler(struct rpcrdma_rep *);
void rpcrdma_reply_handler(struct work_struct *);


/*
/*
 * RPC/RDMA protocol calls - xprtrdma/rpc_rdma.c
 * RPC/RDMA protocol calls - xprtrdma/rpc_rdma.c