]> 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)
commit9806e12adf26c4e87b678d656e4702a8e73ce273
treeec6af94bc83c935b9a7ad96819184990ed97da92
parent7013d33800f7d5f9da7d426629045594ae72c5e3
xprtrdma: Reduce context switching due to Local Invalidation

Since commit 2039ada3c76d ("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