linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/7] Server-side NFS/RDMA changes for v4.11
@ 2017-02-07 16:58 Chuck Lever
  2017-02-07 16:58 ` [PATCH v3 1/7] svcrdma: Another sendto chunk list parsing update Chuck Lever
                   ` (6 more replies)
  0 siblings, 7 replies; 12+ messages in thread
From: Chuck Lever @ 2017-02-07 16:58 UTC (permalink / raw)
  To: bfields; +Cc: linux-rdma, linux-nfs

Hi Bruce-

These are largely clean-ups, except for the last patch. Switching
completion polling from soft IRQ to a worker thread has a few
benefits:

- svcrdma's completion handlers invoke svc_xprt_put(). We discovered
recently svc_xprt_put() is supposed to be called only in a process
context. This will become more important when NFS/RDMA becomes
capable of multi-path operation.

- eventually we'd like to allocate pages for RDMA Read in the
completion handler, and not defer RDMA Read to svc_rdma_recvfrom.
GFP_KERNEL memory allocation can sleep, which is not allowed in soft
IRQ context.

- several places where BH's are disabled can be converted to simple
spin_locks.


Available in the "nfsd-rdma-for-4.11" topic branch of this git repo:

git://git.linux-nfs.org/projects/cel/cel-2.6.git


Or for browsing:

http://git.linux-nfs.org/?p=cel/cel-2.6.git;a=log;h=refs/heads/nfsd-rdma-for-4.11


Changes since v2:
- Rebased on v4.10-rc7
- Addressed Christoph's review comments


Changes since v1:
- Rebased on v4.10-rc6


---

Chuck Lever (7):
      svcrdma: Another sendto chunk list parsing update
      svcrdma: Clean up RPC-over-RDMA Reply header encoder
      svcrdma: Clean up RPC-over-RDMA Call header decoder
      svcrdma: Clean up backchannel send header encoding
      svcrdma: Remove unused sc_dto_q field
      svcrdma: Combine list fields in struct svc_rdma_op_ctxt
      svcrdma: Poll CQs in "workqueue" mode


 include/linux/sunrpc/rpc_rdma.h            |    9 +
 include/linux/sunrpc/svc_rdma.h            |   13 -
 net/sunrpc/xprtrdma/svc_rdma_backchannel.c |   17 +-
 net/sunrpc/xprtrdma/svc_rdma_marshal.c     |  299 ++++++++++------------------
 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c    |   20 +-
 net/sunrpc/xprtrdma/svc_rdma_sendto.c      |   22 +-
 net/sunrpc/xprtrdma/svc_rdma_transport.c   |   61 +++---
 7 files changed, 180 insertions(+), 261 deletions(-)

--
Chuck Lever

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-02-08 17:05 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-07 16:58 [PATCH v3 0/7] Server-side NFS/RDMA changes for v4.11 Chuck Lever
2017-02-07 16:58 ` [PATCH v3 1/7] svcrdma: Another sendto chunk list parsing update Chuck Lever
2017-02-07 19:42   ` Christoph Hellwig
2017-02-07 20:30     ` Chuck Lever
2017-02-08 16:57       ` J. Bruce Fields
2017-02-07 16:58 ` [PATCH v3 2/7] svcrdma: Clean up RPC-over-RDMA Reply header encoder Chuck Lever
2017-02-07 17:20   ` Christoph Hellwig
2017-02-07 16:58 ` [PATCH v3 3/7] svcrdma: Clean up RPC-over-RDMA Call header decoder Chuck Lever
2017-02-07 16:58 ` [PATCH v3 4/7] svcrdma: Clean up backchannel send header encoding Chuck Lever
2017-02-07 16:58 ` [PATCH v3 5/7] svcrdma: Remove unused sc_dto_q field Chuck Lever
2017-02-07 16:58 ` [PATCH v3 6/7] svcrdma: Combine list fields in struct svc_rdma_op_ctxt Chuck Lever
2017-02-07 16:59 ` [PATCH v3 7/7] svcrdma: Poll CQs in "workqueue" mode Chuck Lever

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).