Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp2967196pxf; Sun, 4 Apr 2021 22:25:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxlhPnt6384HP7NehRR1+PBXFRFqSqzJL2pCZX1UKErEn5P6CXjZwyOtlPRkAx9EYGO9ddP X-Received: by 2002:a92:ca4b:: with SMTP id q11mr18611129ilo.272.1617600311798; Sun, 04 Apr 2021 22:25:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617600311; cv=none; d=google.com; s=arc-20160816; b=VDk82QFG3HT8SmB78EYn7LAWukpcuWrXdAIFzzS4tVs/bAcoAxkFx0zB5Acol+/Y5l vtEAXY6GRMbhgNAKDEgnaEWgwsB52cAvJkjazGY8DTdPIWLjT1TDNimsymtpujP6gZWf gWvwerUyup13e8Z+G7qVnYqAyNF32tMU2Remtmz0auBwKyYGy9Yu7EvLhL9C5Z71YGoe XlmXMRetSfz3lQtTcXkmWNyM6u2VCTVGr33FVxPgPIJp63MrYJBN/nI+DmdxzhackiDd P2XWjrHnLYva97sYd+ZA+7JzonRzYu2rnzb4GU55Z84t/jOLqWWKxiR8R3U+Y3PzfCMQ rBCw== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=4vHTxUTmdFDwFxZvXEjNGqlS5y67AqKR6ZWzh8oms3U=; b=sYdXSNE4E4P8KWzJg1WTbio39icNs10tqKMhuVQ3+E7MTN6RPYXWKAfOARXSOSeFNR MnVBengMObEHPgh3lz/L8RWc5I86OQj7Gd3W9Ms6KDB1EpkGyt8J0UaGftLwuOT9t5SU TdTaq2FSOsXY6X66VjcycWJLz0Al5ZuJ7+3rEH274+IQfSVJAW0nYrTIxhO126oVI1C9 P8/6oYrXGMX4e+kDxpjR4qDKlmhlK24eDTjYouYM8mpkfELqFVD2aUjBROASzXWgrpks Uj5KcZTGBFmsvGHF63P+FBVpI5/foBQ2ACDEC78KXr77e7f6w25TW9290octahIJKLBd 9kMg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=hYxGHSOU; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p12si2073846ios.6.2021.04.04.22.24.44; Sun, 04 Apr 2021 22:25:11 -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; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=hYxGHSOU; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231972AbhDEFYS (ORCPT + 99 others); Mon, 5 Apr 2021 01:24:18 -0400 Received: from mail.kernel.org ([198.145.29.99]:56600 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229540AbhDEFYR (ORCPT ); Mon, 5 Apr 2021 01:24:17 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 325176138F; Mon, 5 Apr 2021 05:24:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1617600252; bh=M5HqKDCST9r1ErCNZdLcT+V9m148cOwOB3AdHel2elc=; h=From:To:Cc:Subject:Date:From; b=hYxGHSOUM1lmYuxafECVWKyVk/1yMgA27ZdLlPDWh3vMvPlO1tJgduVSItMFVYODB JnpFy9S2+owMH0EwMW3WCLjXexXYPCOYEO5/IqJ3FMCgeVaT4yr/j6+DRxhh/RHSAO I1A/TcGX7LefUSTMjTgUtndaKMYI+Ez73/54gQSKZVhXbyvmmaXHiDKrhp7PK/ezIU RcQ8Mvm4DVbdl8ybz0bVAmetN9hTocKU3ObpUPL8uDmMHUzfLLqmicbBNCI2o/pEQP k9Rt4IrksIjQLoaiBQCmWY+qnMpMNnphY/45jPoVm6dllEvwABl5jDaDxSDKdrjv1z kInT8rj7le7+A== From: Leon Romanovsky To: Doug Ledford , Jason Gunthorpe Cc: Leon Romanovsky , Adit Ranadive , Anna Schumaker , Ariel Elior , Avihai Horon , Bart Van Assche , Bernard Metzler , Christoph Hellwig , Chuck Lever , "David S. Miller" , Dennis Dalessandro , Devesh Sharma , Faisal Latif , Jack Wang , Jakub Kicinski , "J. Bruce Fields" , Jens Axboe , Karsten Graul , Keith Busch , Lijun Ou , linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org, linux-nfs@vger.kernel.org, linux-nvme@lists.infradead.org, linux-rdma@vger.kernel.org, linux-s390@vger.kernel.org, Max Gurtovoy , Max Gurtovoy , "Md. Haris Iqbal" , Michael Guralnik , Michal Kalderon , Mike Marciniszyn , Naresh Kumar PBS , netdev@vger.kernel.org, Potnuri Bharat Teja , rds-devel@oss.oracle.com, Sagi Grimberg , samba-technical@lists.samba.org, Santosh Shilimkar , Selvin Xavier , Shiraz Saleem , Somnath Kotur , Sriharsha Basavapatna , Steve French , Trond Myklebust , VMware PV-Drivers , Weihang Li , Yishai Hadas , Zhu Yanjun Subject: [PATCH rdma-next 00/10] Enable relaxed ordering for ULPs Date: Mon, 5 Apr 2021 08:23:54 +0300 Message-Id: <20210405052404.213889-1-leon@kernel.org> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org From: Leon Romanovsky From Avihai, Relaxed Ordering is a PCIe mechanism that relaxes the strict ordering imposed on PCI transactions, and thus, can improve performance. Until now, relaxed ordering could be set only by user space applications for user MRs. The following patch series enables relaxed ordering for the kernel ULPs as well. Relaxed ordering is an optional capability, and as such, it is ignored by vendors that don't support it. The following test results show the performance improvement achieved with relaxed ordering. The test was performed on a NVIDIA A100 in order to check performance of storage infrastructure over xprtrdma: Without Relaxed Ordering: READ: bw=16.5GiB/s (17.7GB/s), 16.5GiB/s-16.5GiB/s (17.7GB/s-17.7GB/s), io=1987GiB (2133GB), run=120422-120422msec With relaxed ordering: READ: bw=72.9GiB/s (78.2GB/s), 72.9GiB/s-72.9GiB/s (78.2GB/s-78.2GB/s), io=2367GiB (2542GB), run=32492-32492msec Thanks Avihai Horon (10): RDMA: Add access flags to ib_alloc_mr() and ib_mr_pool_init() RDMA/core: Enable Relaxed Ordering in __ib_alloc_pd() RDMA/iser: Enable Relaxed Ordering RDMA/rtrs: Enable Relaxed Ordering RDMA/srp: Enable Relaxed Ordering nvme-rdma: Enable Relaxed Ordering cifs: smbd: Enable Relaxed Ordering net/rds: Enable Relaxed Ordering net/smc: Enable Relaxed Ordering xprtrdma: Enable Relaxed Ordering drivers/infiniband/core/mr_pool.c | 7 +- drivers/infiniband/core/rw.c | 12 ++-- drivers/infiniband/core/verbs.c | 26 +++++-- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 2 +- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 2 +- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 2 +- drivers/infiniband/hw/cxgb4/mem.c | 2 +- drivers/infiniband/hw/hns/hns_roce_device.h | 2 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 2 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 3 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +- drivers/infiniband/hw/mlx4/mr.c | 2 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 12 ++-- drivers/infiniband/hw/mlx5/mr.c | 61 ++++++++-------- drivers/infiniband/hw/mlx5/wr.c | 69 ++++++++++++++----- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 2 +- drivers/infiniband/hw/qedr/verbs.c | 2 +- drivers/infiniband/hw/qedr/verbs.h | 2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 4 +- .../infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 2 +- drivers/infiniband/sw/rdmavt/mr.c | 3 +- drivers/infiniband/sw/rdmavt/mr.h | 2 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 2 +- drivers/infiniband/sw/siw/siw_verbs.c | 2 +- drivers/infiniband/sw/siw/siw_verbs.h | 2 +- drivers/infiniband/ulp/iser/iser_memory.c | 10 ++- drivers/infiniband/ulp/iser/iser_verbs.c | 6 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 6 +- drivers/infiniband/ulp/rtrs/rtrs-srv.c | 15 ++-- drivers/infiniband/ulp/srp/ib_srp.c | 8 +-- drivers/nvme/host/rdma.c | 19 +++-- fs/cifs/smbdirect.c | 17 +++-- include/rdma/ib_verbs.h | 11 ++- include/rdma/mr_pool.h | 3 +- net/rds/ib_frmr.c | 7 +- net/smc/smc_ib.c | 3 +- net/smc/smc_wr.c | 3 +- net/sunrpc/xprtrdma/frwr_ops.c | 10 +-- 39 files changed, 209 insertions(+), 140 deletions(-) -- 2.30.2