Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp658418pxf; Wed, 31 Mar 2021 12:39:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxbqjVWxKJXBawFrpkXTQD4oPMoNzAC5Qub6Oksqsx+W8Q203sGRjVp7JT2XYl5pVk3KD3v X-Received: by 2002:a17:906:eb4e:: with SMTP id mc14mr5200526ejb.169.1617219540274; Wed, 31 Mar 2021 12:39:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617219540; cv=none; d=google.com; s=arc-20160816; b=pWwpTeZkfjrJ3Lfb8/n4alBxtekjJu/EnoSomfWDZEtEJ/y9FmVjgaFBeNTI7X0JMH Mk4CIl8pmkX+Ly3bUe8hbG0Ih68fMwWnE96Yj9+Ghqi2oavq/zteA4/XH4Xue027OBXa u4wKTj4c/NJ5R6YsO5LD/y/avcgXsmelsIzNtFop7bDRWm03y6/IpXILTSV++ou+imUs 7yZjeh2JzIR4r6WCACVOD9tzbqdauaHj8LOQSLFXTCPW9hNt5jkUAw2FDD0S0fVc1nbq VT7tEokYDrZKfrOrajSLUSKUUcYeunr+7IqDTAUMfQCYaSdrg9AoDocncL2r+w4zx34M Pehg== 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=VyxcJJWRcmfon/KgWNW5Pf35U7NzC1htQWpZmMJSjmQ=; b=tJSeWedB+RqW8BzNraBY0EDzbydMQB/MwRuximQ33IqzYBJOjS5JI6Rn/dIJAYN4Tg zCVeKgFrMPgYQsHfukHv9GZF6dWXYCdhI/x72KNPK4Ft3MFkI/P6+SchF8cL+oChLkxT TqwDfpUl2N3xcpMc0rpPtEQasb+VVacRAPy1Lp4P57QvOv1n+FdT2Clwa47G3145FrlJ 6rmIZSzc0v5YDFQVv0tGdENVgce5CcQkSb56LP2ALYpF45rzO0UjLVGeq/vuoja1P/9P dxJdkuYzg8WDx8mswVQvw4vbd1LRiL9gyoPSXjmlYhJLTVxqmRtOVC9ig5F2yuN73TmP vsAQ== 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 v11si2323007eje.681.2021.03.31.12.38.37; Wed, 31 Mar 2021 12:39:00 -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 S236282AbhCaThA (ORCPT + 99 others); Wed, 31 Mar 2021 15:37:00 -0400 Received: from mail.kernel.org ([198.145.29.99]:44526 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236268AbhCaTga (ORCPT ); Wed, 31 Mar 2021 15:36:30 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 480F761029; Wed, 31 Mar 2021 19:36:30 +0000 (UTC) Subject: [PATCH v1 5/8] xprtrdma: Improve commentary around rpcrdma_reps_unmap() From: Chuck Lever To: linux-rdma@vger.kernel.org, linux-nfs@vger.kernel.org Date: Wed, 31 Mar 2021 15:36:29 -0400 Message-ID: <161721938951.515226.17560651611000798100.stgit@manet.1015granger.net> In-Reply-To: <161721926778.515226.9805598788670386587.stgit@manet.1015granger.net> References: <161721926778.515226.9805598788670386587.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 Signed-off-by: Chuck Lever --- net/sunrpc/xprtrdma/verbs.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c index fe250d554695..b68fc81a78fb 100644 --- a/net/sunrpc/xprtrdma/verbs.c +++ b/net/sunrpc/xprtrdma/verbs.c @@ -1034,6 +1034,10 @@ static void rpcrdma_rep_put(struct rpcrdma_buffer *buf, llist_add(&rep->rr_node, &buf->rb_free_reps); } +/* Caller must ensure the QP is quiescent (RQ is drained) before + * invoking this function, to guarantee rb_all_reps is not + * changing. + */ static void rpcrdma_reps_unmap(struct rpcrdma_xprt *r_xprt) { struct rpcrdma_buffer *buf = &r_xprt->rx_buf; @@ -1041,7 +1045,7 @@ static void rpcrdma_reps_unmap(struct rpcrdma_xprt *r_xprt) list_for_each_entry(rep, &buf->rb_all_reps, rr_all) { rpcrdma_regbuf_dma_unmap(rep->rr_rdmabuf); - rep->rr_temp = true; + rep->rr_temp = true; /* Mark this rep for destruction */ } }