From patchwork Wed Jan 15 12:43:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leon Romanovsky X-Patchwork-Id: 1223444 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=default header.b=huAVmDlf; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47yRpl2QHXz9sRQ for ; Wed, 15 Jan 2020 23:44:15 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729133AbgAOMoO (ORCPT ); Wed, 15 Jan 2020 07:44:14 -0500 Received: from mail.kernel.org ([198.145.29.99]:57562 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725999AbgAOMoO (ORCPT ); Wed, 15 Jan 2020 07:44:14 -0500 Received: from localhost (unknown [193.47.165.251]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id F3DD22467D; Wed, 15 Jan 2020 12:44:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1579092253; bh=hHVz1+EOJDghtb5XYzAjG3za1HO2nkhRjhlUvbPoRU0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=huAVmDlfYKiEDdMWe+Kj/OhliANfSbLxjbyr47wESWnezYKTKxbmBZqCXF6hCatAF s7ldyWK1vK7DhypyousVphUMq7XRdhzRSELKCV1lpDxc8HUH9OE3Evo/YTdb8SoxCJ eEju/MQB2psxZLOG4yFbTaKVfaskpn8zi0i7KQ0g= From: Leon Romanovsky To: Doug Ledford , Jason Gunthorpe , "David S . Miller" , Santosh Shilimkar Cc: Leon Romanovsky , RDMA mailing list , Hans Westgaard Ry , Moni Shoua , linux-netdev Subject: [PATCH mlx5-next 10/10] net/rds: Use prefetch for On-Demand-Paging MR Date: Wed, 15 Jan 2020 14:43:40 +0200 Message-Id: <20200115124340.79108-11-leon@kernel.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200115124340.79108-1-leon@kernel.org> References: <20200115124340.79108-1-leon@kernel.org> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Hans Westgaard Ry Try prefetching pages when using On-Demand-Paging MR using ib_advise_mr. Signed-off-by: Hans Westgaard Ry Signed-off-by: Leon Romanovsky Acked-by: Santosh Shilimkar --- net/rds/ib_rdma.c | 9 +++++++++ 1 file changed, 9 insertions(+) -- 2.20.1 diff --git a/net/rds/ib_rdma.c b/net/rds/ib_rdma.c index 5a02b313ec50..5268a76e5db7 100644 --- a/net/rds/ib_rdma.c +++ b/net/rds/ib_rdma.c @@ -574,6 +574,7 @@ void *rds_ib_get_mr(struct scatterlist *sg, unsigned long nents, (IB_ACCESS_LOCAL_WRITE | IB_ACCESS_REMOTE_READ | IB_ACCESS_REMOTE_WRITE | IB_ACCESS_REMOTE_ATOMIC | IB_ACCESS_ON_DEMAND); + struct ib_sge sge = {}; struct ib_mr *ib_mr; if (!rds_ibdev->odp_capable) { @@ -601,6 +602,14 @@ void *rds_ib_get_mr(struct scatterlist *sg, unsigned long nents, } ibmr->u.mr = ib_mr; ibmr->odp = 1; + + sge.addr = virt_addr; + sge.length = length; + sge.lkey = ib_mr->lkey; + + ib_advise_mr(rds_ibdev->pd, + IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE, + IB_UVERBS_ADVISE_MR_FLAG_FLUSH, &sge, 1); return ibmr; }