Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp417233pxb; Wed, 3 Feb 2021 08:25:44 -0800 (PST) X-Google-Smtp-Source: ABdhPJyB0LqQcm1k9eJsyd1D7RHUj+lg6RwQj7gSJmDs2FlIUS5tBdecbI8NKRpuJHvpj95ZzNX5 X-Received: by 2002:aa7:ca55:: with SMTP id j21mr3747386edt.172.1612369544590; Wed, 03 Feb 2021 08:25:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612369544; cv=none; d=google.com; s=arc-20160816; b=wZOh4cROB97pUmRav1bI4GA4Yl5m9ee+pZKCorn0ID7oOS3M8Xh5tLyA9zNnLepJKl MyHj2OefsX4sQA+Loo5MFbB4sUWJcwqnR6hQYLINLqEaiwNvwlh7kbikl8J5eOe0NiL+ whsWE/w1pohAiz+j1tE5RGCbx2VNfpZ7oQ7pMkPX1NqeuH6XGG58ZVdbkGubP+1PObi3 rwrGh6DdNy4TM1Nf0LA8icd/MXuXR4cTNFOD3BZVe3CnWvIUmiKhA/lsas4+iXwEYh2r U0jnz7wHjaESC6X6/kGQ/a1QT5Dan1JPLg1SqyZjqWgoRnYtvp35TG73IMpi4lOejLAE a9gw== 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=+pU/vZ5d9fgh7ufe7JfJ06SCcQnpaU8xINzbYmeG8hA=; b=YQn4Gl9LaAtycQ0PmCp/UfGeRas5O+d7sb70dzFn1Ua3oHo3v6d3sYxXUakrtyP7nD BL8nfzICHLlCl+w58uinDOKzy1TL2q4bCiWtVafizgB6plnHsMViHPifMts2KDT4miv2 nf4zHlYOWgFWXgmb5pV6Oo1u/BGnPAC7wdf6ntpAfJFLK7rS2qbWBaf0uOZTani+Rr3E UJKb+F0g/45268AKMi4rP+bdZd21BIXG1LqVg8gp1nPGvKjwrKNwlwgXsJR1+M2XBnB1 G1wP3LPTFQHqs7Et9PM1pPSAv2rbOzad7xZjXRjByIdXiLjhny1oYpqr2w/8h3OEOuCv 3Pew== 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 f8si1566122edw.351.2021.02.03.08.25.20; Wed, 03 Feb 2021 08:25:44 -0800 (PST) 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 S233358AbhBCQYi (ORCPT + 99 others); Wed, 3 Feb 2021 11:24:38 -0500 Received: from mail.kernel.org ([198.145.29.99]:40154 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229663AbhBCQYg (ORCPT ); Wed, 3 Feb 2021 11:24:36 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 4DD6E64F7E; Wed, 3 Feb 2021 16:23:55 +0000 (UTC) Subject: [PATCH v2 1/6] xprtrdma: Remove FMR support in rpcrdma_convert_iovs() From: Chuck Lever To: linux-nfs@vger.kernel.org, linux-rdma@vger.kernel.org Date: Wed, 03 Feb 2021 11:23:54 -0500 Message-ID: <161236943446.1030487.4542967452464402073.stgit@manet.1015granger.net> In-Reply-To: <161236925476.1030487.10407536259816633879.stgit@manet.1015granger.net> References: <161236925476.1030487.10407536259816633879.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 Support for FMR was removed by commit ba69cd122ece ("xprtrdma: Remove support for FMR memory registration") [Dec 2018]. That means the buffer-splitting behavior of rpcrdma_convert_kvec(), added by commit 821c791a0bde ("xprtrdma: Segment head and tail XDR buffers on page boundaries") [Mar 2016], is no longer necessary. FRWR memory registration handles this case with aplomb. Signed-off-by: Chuck Lever --- net/sunrpc/xprtrdma/rpc_rdma.c | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/net/sunrpc/xprtrdma/rpc_rdma.c b/net/sunrpc/xprtrdma/rpc_rdma.c index 8f5d0cb68360..832765f3ebba 100644 --- a/net/sunrpc/xprtrdma/rpc_rdma.c +++ b/net/sunrpc/xprtrdma/rpc_rdma.c @@ -204,9 +204,7 @@ rpcrdma_alloc_sparse_pages(struct xdr_buf *buf) return 0; } -/* Split @vec on page boundaries into SGEs. FMR registers pages, not - * a byte range. Other modes coalesce these SGEs into a single MR - * when they can. +/* Convert @vec to a single SGL element. * * Returns pointer to next available SGE, and bumps the total number * of SGEs consumed. @@ -215,21 +213,12 @@ static struct rpcrdma_mr_seg * rpcrdma_convert_kvec(struct kvec *vec, struct rpcrdma_mr_seg *seg, unsigned int *n) { - u32 remaining, page_offset; - char *base; - - base = vec->iov_base; - page_offset = offset_in_page(base); - remaining = vec->iov_len; - while (remaining) { + if (vec->iov_len) { seg->mr_page = NULL; - seg->mr_offset = base; - seg->mr_len = min_t(u32, PAGE_SIZE - page_offset, remaining); - remaining -= seg->mr_len; - base += seg->mr_len; + seg->mr_offset = vec->iov_base; + seg->mr_len = vec->iov_len; ++seg; ++(*n); - page_offset = 0; } return seg; }