From patchwork Wed Jan 15 12:43:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leon Romanovsky X-Patchwork-Id: 1223442 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=wn+xJQ8b; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47yRpd0DWXz9sR0 for ; Wed, 15 Jan 2020 23:44:09 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729125AbgAOMoI (ORCPT ); Wed, 15 Jan 2020 07:44:08 -0500 Received: from mail.kernel.org ([198.145.29.99]:57474 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725999AbgAOMoH (ORCPT ); Wed, 15 Jan 2020 07:44:07 -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 A414F2465A; Wed, 15 Jan 2020 12:44:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1579092247; bh=Vx7YqZ/k22cc8K5Q83ICDc15J5HPJf1Ilju5QsfJpH0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=wn+xJQ8bN1Vq262yJ+ALIMQbBXA2jvdUB7daXmdKTCanSMwhZIZdeOKF5c+LNgzFL HZoGYJqwwa4xSXZesnGagrEbsX5i1SR/mjEyrK1nvHJyZeTDYh+FL/YxvqEHRJ4SQ9 YAOalELfroimSCw3AQHwo+DzHXzmQn2kcsA6H7QI= 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 08/10] net/rds: Detect need of On-Demand-Paging memory registration Date: Wed, 15 Jan 2020 14:43:38 +0200 Message-Id: <20200115124340.79108-9-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 Add code to check if memory intended for RDMA is FS-DAX-memory. RDS will fail with error code EOPNOTSUPP if FS-DAX-memory is detected. Signed-off-by: Hans Westgaard Ry Signed-off-by: Leon Romanovsky Acked-by: Santosh Shilimkar --- net/rds/rdma.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) -- 2.20.1 diff --git a/net/rds/rdma.c b/net/rds/rdma.c index 916f5ec373d8..eb23c38ce2b3 100644 --- a/net/rds/rdma.c +++ b/net/rds/rdma.c @@ -156,11 +156,13 @@ void rds_rdma_drop_keys(struct rds_sock *rs) static int rds_pin_pages(unsigned long user_addr, unsigned int nr_pages, struct page **pages, int write) { + unsigned int gup_flags = FOLL_LONGTERM; int ret; - ret = get_user_pages_fast(user_addr, nr_pages, write ? FOLL_WRITE : 0, - pages); + if (write) + gup_flags |= FOLL_WRITE; + ret = get_user_pages_fast(user_addr, nr_pages, gup_flags, pages); if (ret >= 0 && ret < nr_pages) { while (ret--) put_page(pages[ret]);