]> git.baikalelectronics.ru Git - kernel.git/commit
xprtrdma: Reduce context switching due to Local Invalidation
authorChuck Lever <chuck.lever@oracle.com>
Wed, 19 Jun 2019 14:33:10 +0000 (10:33 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Tue, 9 Jul 2019 14:30:25 +0000 (10:30 -0400)
commitae716e290fbbcf9febc9f86e89756bddc2e238df
treeec6af94bc83c935b9a7ad96819184990ed97da92
parent29250103ab113254f5b97bd5e123459e74b360eb
xprtrdma: Reduce context switching due to Local Invalidation

Since commit 84a0fea29b45 ("xprtrdma: Remove support for FMR memory
registration"), FRWR is the only supported memory registration mode.

We can take advantage of the asynchronous nature of FRWR's LOCAL_INV
Work Requests to get rid of the completion wait by having the
LOCAL_INV completion handler take care of DMA unmapping MRs and
waking the upper layer RPC waiter.

This eliminates two context switches when local invalidation is
necessary. As a side benefit, we will no longer need the per-xprt
deferred completion work queue.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
include/trace/events/rpcrdma.h
net/sunrpc/xprtrdma/frwr_ops.c
net/sunrpc/xprtrdma/rpc_rdma.c
net/sunrpc/xprtrdma/verbs.c
net/sunrpc/xprtrdma/xprt_rdma.h