Commit bfb81535 authored by Chuck Lever's avatar Chuck Lever

svcrdma: Clean up locking

There's no need to protect llist_entry() with a spin lock.
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent f09c36c8
...@@ -201,10 +201,11 @@ struct svc_rdma_send_ctxt *svc_rdma_send_ctxt_get(struct svcxprt_rdma *rdma) ...@@ -201,10 +201,11 @@ struct svc_rdma_send_ctxt *svc_rdma_send_ctxt_get(struct svcxprt_rdma *rdma)
spin_lock(&rdma->sc_send_lock); spin_lock(&rdma->sc_send_lock);
node = llist_del_first(&rdma->sc_send_ctxts); node = llist_del_first(&rdma->sc_send_ctxts);
spin_unlock(&rdma->sc_send_lock);
if (!node) if (!node)
goto out_empty; goto out_empty;
ctxt = llist_entry(node, struct svc_rdma_send_ctxt, sc_node); ctxt = llist_entry(node, struct svc_rdma_send_ctxt, sc_node);
spin_unlock(&rdma->sc_send_lock);
out: out:
rpcrdma_set_xdrlen(&ctxt->sc_hdrbuf, 0); rpcrdma_set_xdrlen(&ctxt->sc_hdrbuf, 0);
...@@ -217,7 +218,6 @@ struct svc_rdma_send_ctxt *svc_rdma_send_ctxt_get(struct svcxprt_rdma *rdma) ...@@ -217,7 +218,6 @@ struct svc_rdma_send_ctxt *svc_rdma_send_ctxt_get(struct svcxprt_rdma *rdma)
return ctxt; return ctxt;
out_empty: out_empty:
spin_unlock(&rdma->sc_send_lock);
ctxt = svc_rdma_send_ctxt_alloc(rdma); ctxt = svc_rdma_send_ctxt_alloc(rdma);
if (!ctxt) if (!ctxt)
return NULL; return NULL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment