summaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
authorChuck Lever2019-06-19 16:33:10 +0200
committerAnna Schumaker2019-07-09 16:30:25 +0200
commitd8099feda4833bab96b1bf312e9e6aad6b771570 (patch)
treeec6af94bc83c935b9a7ad96819184990ed97da92 /include/trace
parentxprtrdma: Add mechanism to place MRs back on the free list (diff)
downloadkernel-qcow2-linux-d8099feda4833bab96b1bf312e9e6aad6b771570.tar.gz
kernel-qcow2-linux-d8099feda4833bab96b1bf312e9e6aad6b771570.tar.xz
kernel-qcow2-linux-d8099feda4833bab96b1bf312e9e6aad6b771570.zip
xprtrdma: Reduce context switching due to Local Invalidation
Since commit ba69cd122ece ("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>
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/events/rpcrdma.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/trace/events/rpcrdma.h b/include/trace/events/rpcrdma.h
index 1d2547084998..98023d91a72d 100644
--- a/include/trace/events/rpcrdma.h
+++ b/include/trace/events/rpcrdma.h
@@ -712,6 +712,7 @@ TRACE_EVENT(xprtrdma_wc_receive,
DEFINE_FRWR_DONE_EVENT(xprtrdma_wc_fastreg);
DEFINE_FRWR_DONE_EVENT(xprtrdma_wc_li);
DEFINE_FRWR_DONE_EVENT(xprtrdma_wc_li_wake);
+DEFINE_FRWR_DONE_EVENT(xprtrdma_wc_li_done);
TRACE_EVENT(xprtrdma_frwr_alloc,
TP_PROTO(