Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp577531pxb; Sat, 10 Apr 2021 11:57:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx/+L1BEJPefE9FjA0wBwCHLiSmj3i38FK7pzBuat6Asm6TfDvFEk1S/r3NPmu4L6V2z0n8 X-Received: by 2002:a17:907:3e93:: with SMTP id hs19mr21468136ejc.272.1618081065534; Sat, 10 Apr 2021 11:57:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618081065; cv=none; d=google.com; s=arc-20160816; b=lSVnm0eVvMaQD4grx5y82iT34JNJLucZ9q0ql4Q/5Hlbq1TMezdSO6JIMxFOczwb6u O/0vagFdU05TDY5A3kz+mEqWasJKZG3zmWKfA2jyDudhmpisXeZEXrRebI9+j9lBsL2L s/USvcyZZQmxmX/11nFNfNym6AgIZOwa6ADWlObhVPkzmN/fyeL/ifFHg6oQ1pejawyE G7NY2ux/vfQFQu/IOtVBYqQbxn6Vi6Ot8NA9+8D+KjD4jWVYyB/APC/vYdrkaA52vFJX Cv4KaDQL66mTBlU6plMZ7A2sTfkTL64Rmcmb9FFMV0JQk0XDxqFj7zikUSZjBpNAfm19 Skxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:to:from:subject; bh=54a17ca7WPcWzMn5D0v/5Y9VV/7G3p3OxdWnvROMLOE=; b=mBZSKXqgq91R7uCXIwV2720tic2MWdEnZPnAqIvHvkVNNXgdhx1eZsVRz3JqhKQUlR 9nrJu5NVSaaJ6oF5cpdvBn/HdgO2CKy2eGWuROEV7rtZMvLH9grw0emWOjcAC9k4TYHO aKfCPhyr2AzIqgD0mKVKLCmtsG9iMvZQwS4zM6LgZruL8wbgXWCPbba/xVskkL6h99DI uRLsBZH72ealVbO9ucNJp/LOqHrgcOGyIib/ZVIGlh4SqPAhXknzA7OEFcCDpaqdjS44 rh1MDDIo3mDpFxHC3lSCyK6Xnv8x3kfJr5c5Mhcpo0uAP9D7vS3SMUx5dAx1wvBQ1wg7 QJXQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dp16si4908856ejc.170.2021.04.10.11.57.23; Sat, 10 Apr 2021 11:57:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235012AbhDJS5h (ORCPT + 99 others); Sat, 10 Apr 2021 14:57:37 -0400 Received: from mail.kernel.org ([198.145.29.99]:43476 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234992AbhDJS5h (ORCPT ); Sat, 10 Apr 2021 14:57:37 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id F050F600D4; Sat, 10 Apr 2021 18:57:21 +0000 (UTC) Subject: [PATCH v1 3/5] xprtrdma: Move fr_linv_done field to struct rpcrdma_mr From: Chuck Lever To: linux-nfs@vger.kernel.org, linux-rdma@vger.kernel.org Date: Sat, 10 Apr 2021 14:57:21 -0400 Message-ID: <161808104126.21544.2370381333723823140.stgit@manet.1015granger.net> In-Reply-To: <161808077437.21544.8496120800134971916.stgit@manet.1015granger.net> References: <161808077437.21544.8496120800134971916.stgit@manet.1015granger.net> User-Agent: StGit/0.23-29-ga622f1 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org Clean up: Move more of struct rpcrdma_frwr into its parent. Signed-off-by: Chuck Lever --- net/sunrpc/xprtrdma/frwr_ops.c | 9 ++++----- net/sunrpc/xprtrdma/xprt_rdma.h | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/net/sunrpc/xprtrdma/frwr_ops.c b/net/sunrpc/xprtrdma/frwr_ops.c index 2a886a28d82b..7d7a64d2ca4a 100644 --- a/net/sunrpc/xprtrdma/frwr_ops.c +++ b/net/sunrpc/xprtrdma/frwr_ops.c @@ -142,7 +142,7 @@ int frwr_mr_init(struct rpcrdma_xprt *r_xprt, struct rpcrdma_mr *mr) mr->frwr.fr_mr = frmr; mr->mr_device = NULL; INIT_LIST_HEAD(&mr->mr_list); - init_completion(&mr->frwr.fr_linv_done); + init_completion(&mr->mr_linv_done); frwr_cid_init(ep, mr); sg_init_table(sg, depth); @@ -481,12 +481,11 @@ static void frwr_wc_localinv_wake(struct ib_cq *cq, struct ib_wc *wc) { struct ib_cqe *cqe = wc->wr_cqe; struct rpcrdma_mr *mr = container_of(cqe, struct rpcrdma_mr, mr_cqe); - struct rpcrdma_frwr *frwr = &mr->frwr; /* WARNING: Only wr_cqe and status are reliable at this point */ trace_xprtrdma_wc_li_wake(wc, &mr->mr_cid); frwr_mr_done(wc, mr); - complete(&frwr->fr_linv_done); + complete(&mr->mr_linv_done); rpcrdma_flush_disconnect(cq->cq_context, wc); } @@ -544,7 +543,7 @@ void frwr_unmap_sync(struct rpcrdma_xprt *r_xprt, struct rpcrdma_req *req) * are complete. */ last->wr_cqe->done = frwr_wc_localinv_wake; - reinit_completion(&frwr->fr_linv_done); + reinit_completion(&mr->mr_linv_done); /* Transport disconnect drains the receive CQ before it * replaces the QP. The RPC reply handler won't call us @@ -558,7 +557,7 @@ void frwr_unmap_sync(struct rpcrdma_xprt *r_xprt, struct rpcrdma_req *req) * not happen, so don't wait in that case. */ if (bad_wr != first) - wait_for_completion(&frwr->fr_linv_done); + wait_for_completion(&mr->mr_linv_done); if (!rc) return; diff --git a/net/sunrpc/xprtrdma/xprt_rdma.h b/net/sunrpc/xprtrdma/xprt_rdma.h index f72b69c3f0ea..1374054b73fd 100644 --- a/net/sunrpc/xprtrdma/xprt_rdma.h +++ b/net/sunrpc/xprtrdma/xprt_rdma.h @@ -231,7 +231,6 @@ struct rpcrdma_sendctx { */ struct rpcrdma_frwr { struct ib_mr *fr_mr; - struct completion fr_linv_done; union { struct ib_reg_wr fr_regwr; struct ib_send_wr fr_invwr; @@ -247,6 +246,7 @@ struct rpcrdma_mr { int mr_nents; enum dma_data_direction mr_dir; struct ib_cqe mr_cqe; + struct completion mr_linv_done; struct rpcrdma_frwr frwr; struct rpcrdma_xprt *mr_xprt; u32 mr_handle;