After testing v1 "Switch NFS server CQs to use soft IRQ", I found that using soft IRQ for completion handling actually reduced throughput on a 70/30 8KB read/write test. So I've tossed those patches out of this series. Also, Jason reminded me that DMA unmapping is pretty costly, so that has been moved out of Send completion handling on the NFS server. --- Chuck Lever (6): svcrdma: Eliminate allocation of recv_ctxt objects in backchannel svcrdma: Pre-allocate svc_rdma_recv_ctxt objects svcrdma: Add a utility workqueue to svcrdma svcrdma: Add an async version of svc_rdma_send_ctxt_put() svcrdma: Add an async version of svc_rdma_write_info_free() svcrdma: Clean up locking include/linux/sunrpc/svc_rdma.h | 6 +- net/sunrpc/xprtrdma/svc_rdma.c | 32 +++++++--- net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 11 ++-- net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 32 ++++++---- net/sunrpc/xprtrdma/svc_rdma_rw.c | 12 +++- net/sunrpc/xprtrdma/svc_rdma_sendto.c | 69 ++++++++++++++-------- net/sunrpc/xprtrdma/svc_rdma_transport.c | 1 + 7 files changed, 110 insertions(+), 53 deletions(-) -- Chuck Lever