Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp8036008ybi; Tue, 23 Jul 2019 01:42:49 -0700 (PDT) X-Google-Smtp-Source: APXvYqz213iTP1fpBdv6Rw/vmDUzjN5iF+GVRhPPgJnEVFelXN90aUUe/t2x+sTnw1xGUq94p3PW X-Received: by 2002:a63:5823:: with SMTP id m35mr76559947pgb.329.1563871369105; Tue, 23 Jul 2019 01:42:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1563871369; cv=none; d=google.com; s=arc-20160816; b=FesXrAI/VD7fwXirg9GU3aVQPKe7PqIzI6DlWxRBgU4AMnHuNRipv43GpuzqqCN19i +s+jFyMwpMUTVNb52wp1Lv90joeqIeAdIzIqPvcWUSsXiI+feedduPa9tVcSg0LTIzQn bOKmfCTsygcxTETv31l2l9IZTDxQrD9eMed3nygpQyEmgXK6Na0sD4yn1TPCGbcp1ff4 ZY00QnSih1vBcDyRWgI2Zm4SvX1rj6uaVId7HA2LuYXu+WSSLpUds29TbAHBwNFAm7vb p9VXDqy9juAqStTdVSeEiUEmobYYhDB0rAWj51tnwFTsedqqVEyhn38k74HN2H6ILi97 lMNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=KrxkLO/LuqMTzkF7fmYrHUjWl8LiQ5m+fMIjDftW6C4=; b=rYtWffXzLD7wqx3s9xbT3YJoALu1M421CFQdV3ebNm+fb62QMIdVqwHrNUIpxaW1UV IHHWfelAdGX5kiRu5uaZVjp8JqeGjs6P5lfOck29b75yssqtCbeB1dMc9enWdlYJO4Km K9N5iiWJ4LekECe1jY7WyEPTv5jwhZcClKl5LCAon49DNHUPQlufd9b60lE+t1VR3i8C IMycuDlu/uJOpFSP8wir5GJLDhBqbwcnzjbs7VtDqOFMdatOJwH3jzdA2dCHjDcg0u+O ISwBQpd/OBCJfrgwzeTokn8dp65ft3g9ELvH6qK9sp/Nj0UgZNYDT2m1HBX3JjEj4B2u /qVg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o23si13926522pfp.131.2019.07.23.01.42.33; Tue, 23 Jul 2019 01:42:49 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731937AbfGWAZh (ORCPT + 99 others); Mon, 22 Jul 2019 20:25:37 -0400 Received: from mga04.intel.com ([192.55.52.120]:52276 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727627AbfGWAZh (ORCPT ); Mon, 22 Jul 2019 20:25:37 -0400 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Jul 2019 17:25:36 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,297,1559545200"; d="scan'208";a="180568074" Received: from iweiny-desk2.sc.intel.com ([10.3.52.157]) by orsmga002.jf.intel.com with ESMTP; 22 Jul 2019 17:25:34 -0700 Date: Mon, 22 Jul 2019 17:25:34 -0700 From: Ira Weiny To: john.hubbard@gmail.com Cc: Andrew Morton , Alexander Viro , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , Boaz Harrosh , Christoph Hellwig , Daniel Vetter , Dan Williams , Dave Chinner , David Airlie , "David S . Miller" , Ilya Dryomov , Jan Kara , Jason Gunthorpe , Jens Axboe , =?iso-8859-1?B?Suly9G1l?= Glisse , Johannes Thumshirn , Magnus Karlsson , Matthew Wilcox , Miklos Szeredi , Ming Lei , Sage Weil , Santosh Shilimkar , Yan Zheng , netdev@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, linux-rdma@vger.kernel.org, bpf@vger.kernel.org, LKML , John Hubbard Subject: Re: [PATCH 3/3] net/xdp: convert put_page() to put_user_page*() Message-ID: <20190723002534.GA10284@iweiny-DESK2.sc.intel.com> References: <20190722223415.13269-1-jhubbard@nvidia.com> <20190722223415.13269-4-jhubbard@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20190722223415.13269-4-jhubbard@nvidia.com> User-Agent: Mutt/1.11.1 (2018-12-01) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jul 22, 2019 at 03:34:15PM -0700, john.hubbard@gmail.com wrote: > From: John Hubbard > > For pages that were retained via get_user_pages*(), release those pages > via the new put_user_page*() routines, instead of via put_page() or > release_pages(). > > This is part a tree-wide conversion, as described in commit fc1d8e7cca2d > ("mm: introduce put_user_page*(), placeholder versions"). > > Cc: Bj?rn T?pel > Cc: Magnus Karlsson > Cc: David S. Miller > Cc: netdev@vger.kernel.org > Signed-off-by: John Hubbard > --- > net/xdp/xdp_umem.c | 9 +-------- > 1 file changed, 1 insertion(+), 8 deletions(-) > > diff --git a/net/xdp/xdp_umem.c b/net/xdp/xdp_umem.c > index 83de74ca729a..0325a17915de 100644 > --- a/net/xdp/xdp_umem.c > +++ b/net/xdp/xdp_umem.c > @@ -166,14 +166,7 @@ void xdp_umem_clear_dev(struct xdp_umem *umem) > > static void xdp_umem_unpin_pages(struct xdp_umem *umem) > { > - unsigned int i; > - > - for (i = 0; i < umem->npgs; i++) { > - struct page *page = umem->pgs[i]; > - > - set_page_dirty_lock(page); > - put_page(page); > - } > + put_user_pages_dirty_lock(umem->pgs, umem->npgs); What is the difference between this and __put_user_pages(umem->pgs, umem->npgs, PUP_FLAGS_DIRTY_LOCK); ? I'm a bit concerned with adding another form of the same interface. We should either have 1 call with flags (enum in this case) or multiple calls. Given the previous discussion lets move in the direction of having the enum but don't introduce another caller of the "old" interface. So I think on this patch NAK from me. I also don't like having a __* call in the exported interface but there is a __get_user_pages_fast() call so I guess there is precedent. :-/ Ira > > kfree(umem->pgs); > umem->pgs = NULL; > -- > 2.22.0 >