From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 90E74C1744A for ; Wed, 13 Nov 2019 11:43:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6145E22467 for ; Wed, 13 Nov 2019 11:43:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="C0Dbe7TC" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727818AbfKMLnR (ORCPT ); Wed, 13 Nov 2019 06:43:17 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:43945 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726339AbfKMLnR (ORCPT ); Wed, 13 Nov 2019 06:43:17 -0500 Received: by mail-wr1-f67.google.com with SMTP id n1so1961497wra.10 for ; Wed, 13 Nov 2019 03:43:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=sender:date:from:to:cc:subject:message-id:mail-followup-to :references:mime-version:content-disposition:in-reply-to:user-agent; bh=NWmx5zlrVzI636UV5zn7jwNNYyPpT2kzazOSeqZFCPQ=; b=C0Dbe7TCduZqSim4I/9b7E74bGQO34GH/iKoO+dE+3EHLfWv1lLPGbvorBCoaRGMDb 48v7HTSQHP1LaVgvLNGy/yOxyJTlvTeKuq2CZR/Q7GIgmnQIbkvYhHi8TV/Ec+0WSA8P awH+k+k5IQBNK5RO6uqKbJl7dFmz19ED4sy2I= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :in-reply-to:user-agent; bh=NWmx5zlrVzI636UV5zn7jwNNYyPpT2kzazOSeqZFCPQ=; b=jof95ZB5iV62Ym3ATLZMYCy5NsnxYKK2NTfuUu9+CgZMd6xTJgGQ+LUeBFqpNW74Gr Hbj9ah16/KKwIF6/qWx27Cz+BmPOlmbtHhDfgq7wEeSRDH5Cs7DJDEmp1VuxMfa4X2WI IPrbZF175iBUMHL8xrywz/qAXCNbeJfw9VTsbmt9+2+l9KmRkjKKG0aeZ92o8xbbUvGe OyaCKAovfKSeFG+d5G7QM+lezxav8mfMAm6VN8jdMkwC2dF6uIQHBXL3mBpUuQnWGGDz TNrSvBdBSmmoUd5pFxhAdIVzOH13wsDlcXE4OkeQWZxvozWfEpHDxLA1rHHIZlpms0IR ywcQ== X-Gm-Message-State: APjAAAWq/KzV4Fipcq3R0jdVrPTMz2D8ur1v0xqt1TgLTsW9YgbBnbvx oTxocMU5SZ4lns7tVtiBY0vtwg== X-Google-Smtp-Source: APXvYqw4ALVmGTh9KFISsJCvLVpFEzXuyu2WMWEkcAdM7khXUlUWKA93QR1nKFP8k/o5YdLFIE0ItA== X-Received: by 2002:a5d:50ce:: with SMTP id f14mr2625324wrt.219.1573645394576; Wed, 13 Nov 2019 03:43:14 -0800 (PST) Received: from phenom.ffwll.local (212-51-149-96.fiber7.init7.net. [212.51.149.96]) by smtp.gmail.com with ESMTPSA id w4sm2544060wrs.1.2019.11.13.03.43.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Nov 2019 03:43:13 -0800 (PST) Date: Wed, 13 Nov 2019 12:43:11 +0100 From: Daniel Vetter To: Jan Kara Cc: John Hubbard , Daniel Vetter , Jason Gunthorpe , Andrew Morton , Al Viro , Alex Williamson , Benjamin Herrenschmidt , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , Christoph Hellwig , Dan Williams , Dave Chinner , David Airlie , "David S . Miller" , Ira Weiny , Jens Axboe , Jonathan Corbet , =?iso-8859-1?B?Suly9G1l?= Glisse , Magnus Karlsson , Mauro Carvalho Chehab , Michael Ellerman , Michal Hocko , Mike Kravetz , Paul Mackerras , Shuah Khan , Vlastimil Babka , bpf , dri-devel , kvm@vger.kernel.org, linux-block@vger.kernel.org, Linux Doc Mailing List , linux-fsdevel@vger.kernel.org, "open list:KERNEL SELFTEST FRAMEWORK" , "open list:DMA BUFFER SHARING FRAMEWORK" , linux-rdma@vger.kernel.org, linuxppc-dev , netdev , Linux MM , LKML Subject: Re: [PATCH v3 00/23] mm/gup: track dma-pinned pages: FOLL_PIN, FOLL_LONGTERM Message-ID: <20191113114311.GP23790@phenom.ffwll.local> Mail-Followup-To: Jan Kara , John Hubbard , Jason Gunthorpe , Andrew Morton , Al Viro , Alex Williamson , Benjamin Herrenschmidt , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , Christoph Hellwig , Dan Williams , Dave Chinner , David Airlie , "David S . Miller" , Ira Weiny , Jens Axboe , Jonathan Corbet , =?iso-8859-1?B?Suly9G1l?= Glisse , Magnus Karlsson , Mauro Carvalho Chehab , Michael Ellerman , Michal Hocko , Mike Kravetz , Paul Mackerras , Shuah Khan , Vlastimil Babka , bpf , dri-devel , kvm@vger.kernel.org, linux-block@vger.kernel.org, Linux Doc Mailing List , linux-fsdevel@vger.kernel.org, "open list:KERNEL SELFTEST FRAMEWORK" , "open list:DMA BUFFER SHARING FRAMEWORK" , linux-rdma@vger.kernel.org, linuxppc-dev , netdev , Linux MM , LKML References: <20191112000700.3455038-1-jhubbard@nvidia.com> <20191112203802.GD5584@ziepe.ca> <02fa935c-3469-b766-b691-5660084b60b9@nvidia.com> <7b671bf9-4d94-f2cc-8453-863acd5a1115@nvidia.com> <20191113101210.GD6367@quack2.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191113101210.GD6367@quack2.suse.cz> X-Operating-System: Linux phenom 5.2.0-3-amd64 User-Agent: Mutt/1.12.2 (2019-09-21) Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org On Wed, Nov 13, 2019 at 11:12:10AM +0100, Jan Kara wrote: > On Wed 13-11-19 01:02:02, John Hubbard wrote: > > On 11/13/19 12:22 AM, Daniel Vetter wrote: > > ... > > > > > Why are we doing this? I think things got confused here someplace, as > > > > > > > > > > > > Because: > > > > > > > > a) These need put_page() calls, and > > > > > > > > b) there is no put_pages() call, but there is a release_pages() call that > > > > is, arguably, what put_pages() would be. > > > > > > > > > > > > > the comment still says: > > > > > > > > > > /** > > > > > * put_user_page() - release a gup-pinned page > > > > > * @page: pointer to page to be released > > > > > * > > > > > * Pages that were pinned via get_user_pages*() must be released via > > > > > * either put_user_page(), or one of the put_user_pages*() routines > > > > > * below. > > > > > > > > > > > > Ohhh, I missed those comments. They need to all be changed over to > > > > say "pages that were pinned via pin_user_pages*() or > > > > pin_longterm_pages*() must be released via put_user_page*()." > > > > > > > > The get_user_pages*() pages must still be released via put_page. > > > > > > > > The churn is due to a fairly significant change in strategy, whis > > > > is: instead of changing all get_user_pages*() sites to call > > > > put_user_page(), change selected sites to call pin_user_pages*() or > > > > pin_longterm_pages*(), plus put_user_page(). > > > > > > Can't we call this unpin_user_page then, for some symmetry? Or is that > > > even more churn? > > > > > > Looking from afar the naming here seems really confusing. > > > > > > That look from afar is valuable, because I'm too close to the problem to see > > how the naming looks. :) > > > > unpin_user_page() sounds symmetrical. It's true that it would cause more > > churn (which is why I started off with a proposal that avoids changing the > > names of put_user_page*() APIs). But OTOH, the amount of churn is proportional > > to the change in direction here, and it's really only 10 or 20 lines changed, > > in the end. > > > > So I'm open to changing to that naming. It would be nice to hear what others > > prefer, too... > > FWIW I'd find unpin_user_page() also better than put_user_page() as a > counterpart to pin_user_pages(). One more point from afar on pin/unpin: We use that a lot in graphics for permanently pinned graphics buffer objects. Which really only should be used for scanout. So at least graphics folks should have an appropriate mindset and try to make sure we don't overuse this stuff. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A254FC43331 for ; Wed, 13 Nov 2019 11:46:34 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 13982222C2 for ; Wed, 13 Nov 2019 11:46:33 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="C0Dbe7TC" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 13982222C2 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 47CjW95Fn7zF5nS for ; Wed, 13 Nov 2019 22:46:29 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=ffwll.ch (client-ip=2a00:1450:4864:20::441; helo=mail-wr1-x441.google.com; envelope-from=daniel@ffwll.ch; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: lists.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=ffwll.ch header.i=@ffwll.ch header.b="C0Dbe7TC"; dkim-atps=neutral Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com [IPv6:2a00:1450:4864:20::441]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 47CjRY4FCNzF1Rg for ; Wed, 13 Nov 2019 22:43:20 +1100 (AEDT) Received: by mail-wr1-x441.google.com with SMTP id i12so1991829wro.5 for ; Wed, 13 Nov 2019 03:43:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=sender:date:from:to:cc:subject:message-id:mail-followup-to :references:mime-version:content-disposition:in-reply-to:user-agent; bh=NWmx5zlrVzI636UV5zn7jwNNYyPpT2kzazOSeqZFCPQ=; b=C0Dbe7TCduZqSim4I/9b7E74bGQO34GH/iKoO+dE+3EHLfWv1lLPGbvorBCoaRGMDb 48v7HTSQHP1LaVgvLNGy/yOxyJTlvTeKuq2CZR/Q7GIgmnQIbkvYhHi8TV/Ec+0WSA8P awH+k+k5IQBNK5RO6uqKbJl7dFmz19ED4sy2I= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :in-reply-to:user-agent; bh=NWmx5zlrVzI636UV5zn7jwNNYyPpT2kzazOSeqZFCPQ=; b=aM8fV1qyLoryrhF9ETL1HvpNiZAAyAx4HnHBSh7QZedSD79PI56cu0QcItuk8RaP6Q 137FfAzwUlW9RdB1po8chltJBSesu1FvUrxXPTs+nF3RnHYuV72uOJyaZWEs7FrB37wM PGVfbeDiZlwt/iMx9mFfl+0OGJeSf/YmwpuEYE8sUwVMHjUEab0I5BjYpqmBFWoJjRJ0 VEM+MrMH1yWiSnmanlFxsB4+x9AIgghlsUlGGaAEWLW+1MyYfKXxFv+F2+ekO81UVmiD YF6uuLA1S82TGvTpRwXcfZhBNkh0Enpsg4gwSSok2v1wihkGGmWdZOSSSqJ0g0EwAtf9 x4LA== X-Gm-Message-State: APjAAAWxbFFmisc57QoveL0Zdsqv4lC+zYJ7SUoZ/TtixR7V26MuZY0n yZifcp61QIe3ojrYaV1wN4ZQBA== X-Google-Smtp-Source: APXvYqw4ALVmGTh9KFISsJCvLVpFEzXuyu2WMWEkcAdM7khXUlUWKA93QR1nKFP8k/o5YdLFIE0ItA== X-Received: by 2002:a5d:50ce:: with SMTP id f14mr2625324wrt.219.1573645394576; Wed, 13 Nov 2019 03:43:14 -0800 (PST) Received: from phenom.ffwll.local (212-51-149-96.fiber7.init7.net. [212.51.149.96]) by smtp.gmail.com with ESMTPSA id w4sm2544060wrs.1.2019.11.13.03.43.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Nov 2019 03:43:13 -0800 (PST) Date: Wed, 13 Nov 2019 12:43:11 +0100 From: Daniel Vetter To: Jan Kara Subject: Re: [PATCH v3 00/23] mm/gup: track dma-pinned pages: FOLL_PIN, FOLL_LONGTERM Message-ID: <20191113114311.GP23790@phenom.ffwll.local> Mail-Followup-To: Jan Kara , John Hubbard , Jason Gunthorpe , Andrew Morton , Al Viro , Alex Williamson , Benjamin Herrenschmidt , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , Christoph Hellwig , Dan Williams , Dave Chinner , David Airlie , "David S . Miller" , Ira Weiny , Jens Axboe , Jonathan Corbet , =?iso-8859-1?B?Suly9G1l?= Glisse , Magnus Karlsson , Mauro Carvalho Chehab , Michael Ellerman , Michal Hocko , Mike Kravetz , Paul Mackerras , Shuah Khan , Vlastimil Babka , bpf , dri-devel , kvm@vger.kernel.org, linux-block@vger.kernel.org, Linux Doc Mailing List , linux-fsdevel@vger.kernel.org, "open list:KERNEL SELFTEST FRAMEWORK" , "open list:DMA BUFFER SHARING FRAMEWORK" , linux-rdma@vger.kernel.org, linuxppc-dev , netdev , Linux MM , LKML References: <20191112000700.3455038-1-jhubbard@nvidia.com> <20191112203802.GD5584@ziepe.ca> <02fa935c-3469-b766-b691-5660084b60b9@nvidia.com> <7b671bf9-4d94-f2cc-8453-863acd5a1115@nvidia.com> <20191113101210.GD6367@quack2.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191113101210.GD6367@quack2.suse.cz> X-Operating-System: Linux phenom 5.2.0-3-amd64 User-Agent: Mutt/1.12.2 (2019-09-21) X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Michal Hocko , kvm@vger.kernel.org, Linux Doc Mailing List , David Airlie , Dave Chinner , dri-devel , LKML , Linux MM , Paul Mackerras , "open list:KERNEL SELFTEST FRAMEWORK" , Ira Weiny , Jonathan Corbet , linux-rdma@vger.kernel.org, Christoph Hellwig , Jason Gunthorpe , Vlastimil Babka , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , "open list:DMA BUFFER SHARING FRAMEWORK" , Shuah Khan , John Hubbard , linux-block@vger.kernel.org, =?iso-8859-1?B?Suly9G1l?= Glisse , Al Viro , Dan Williams , Mauro Carvalho Chehab , bpf , Magnus Karlsson , Jens Axboe , netdev , Alex Williamson , Daniel Vetter , linux-fsdevel@vger.kernel.org, Andrew Morton , linuxppc-dev , "David S . Miller" , Mike Kravetz Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" On Wed, Nov 13, 2019 at 11:12:10AM +0100, Jan Kara wrote: > On Wed 13-11-19 01:02:02, John Hubbard wrote: > > On 11/13/19 12:22 AM, Daniel Vetter wrote: > > ... > > > > > Why are we doing this? I think things got confused here someplace, as > > > > > > > > > > > > Because: > > > > > > > > a) These need put_page() calls, and > > > > > > > > b) there is no put_pages() call, but there is a release_pages() call that > > > > is, arguably, what put_pages() would be. > > > > > > > > > > > > > the comment still says: > > > > > > > > > > /** > > > > > * put_user_page() - release a gup-pinned page > > > > > * @page: pointer to page to be released > > > > > * > > > > > * Pages that were pinned via get_user_pages*() must be released via > > > > > * either put_user_page(), or one of the put_user_pages*() routines > > > > > * below. > > > > > > > > > > > > Ohhh, I missed those comments. They need to all be changed over to > > > > say "pages that were pinned via pin_user_pages*() or > > > > pin_longterm_pages*() must be released via put_user_page*()." > > > > > > > > The get_user_pages*() pages must still be released via put_page. > > > > > > > > The churn is due to a fairly significant change in strategy, whis > > > > is: instead of changing all get_user_pages*() sites to call > > > > put_user_page(), change selected sites to call pin_user_pages*() or > > > > pin_longterm_pages*(), plus put_user_page(). > > > > > > Can't we call this unpin_user_page then, for some symmetry? Or is that > > > even more churn? > > > > > > Looking from afar the naming here seems really confusing. > > > > > > That look from afar is valuable, because I'm too close to the problem to see > > how the naming looks. :) > > > > unpin_user_page() sounds symmetrical. It's true that it would cause more > > churn (which is why I started off with a proposal that avoids changing the > > names of put_user_page*() APIs). But OTOH, the amount of churn is proportional > > to the change in direction here, and it's really only 10 or 20 lines changed, > > in the end. > > > > So I'm open to changing to that naming. It would be nice to hear what others > > prefer, too... > > FWIW I'd find unpin_user_page() also better than put_user_page() as a > counterpart to pin_user_pages(). One more point from afar on pin/unpin: We use that a lot in graphics for permanently pinned graphics buffer objects. Which really only should be used for scanout. So at least graphics folks should have an appropriate mindset and try to make sure we don't overuse this stuff. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v3 00/23] mm/gup: track dma-pinned pages: FOLL_PIN, FOLL_LONGTERM Date: Wed, 13 Nov 2019 12:43:11 +0100 Message-ID: <20191113114311.GP23790@phenom.ffwll.local> References: <20191112000700.3455038-1-jhubbard@nvidia.com> <20191112203802.GD5584@ziepe.ca> <02fa935c-3469-b766-b691-5660084b60b9@nvidia.com> <7b671bf9-4d94-f2cc-8453-863acd5a1115@nvidia.com> <20191113101210.GD6367@quack2.suse.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20191113101210.GD6367@quack2.suse.cz> Sender: netdev-owner@vger.kernel.org To: Jan Kara Cc: John Hubbard , Daniel Vetter , Jason Gunthorpe , Andrew Morton , Al Viro , Alex Williamson , Benjamin Herrenschmidt , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , Christoph Hellwig , Dan Williams , Dave Chinner , David Airlie , "David S . Miller" , Ira Weiny , Jens Axboe , Jonathan Corbet , =?iso-8859-1?B?Suly9G1l?= Glisse , Magnus Karlsson , Mauro Carvalho Chehab List-Id: dri-devel@lists.freedesktop.org On Wed, Nov 13, 2019 at 11:12:10AM +0100, Jan Kara wrote: > On Wed 13-11-19 01:02:02, John Hubbard wrote: > > On 11/13/19 12:22 AM, Daniel Vetter wrote: > > ... > > > > > Why are we doing this? I think things got confused here someplace, as > > > > > > > > > > > > Because: > > > > > > > > a) These need put_page() calls, and > > > > > > > > b) there is no put_pages() call, but there is a release_pages() call that > > > > is, arguably, what put_pages() would be. > > > > > > > > > > > > > the comment still says: > > > > > > > > > > /** > > > > > * put_user_page() - release a gup-pinned page > > > > > * @page: pointer to page to be released > > > > > * > > > > > * Pages that were pinned via get_user_pages*() must be released via > > > > > * either put_user_page(), or one of the put_user_pages*() routines > > > > > * below. > > > > > > > > > > > > Ohhh, I missed those comments. They need to all be changed over to > > > > say "pages that were pinned via pin_user_pages*() or > > > > pin_longterm_pages*() must be released via put_user_page*()." > > > > > > > > The get_user_pages*() pages must still be released via put_page. > > > > > > > > The churn is due to a fairly significant change in strategy, whis > > > > is: instead of changing all get_user_pages*() sites to call > > > > put_user_page(), change selected sites to call pin_user_pages*() or > > > > pin_longterm_pages*(), plus put_user_page(). > > > > > > Can't we call this unpin_user_page then, for some symmetry? Or is that > > > even more churn? > > > > > > Looking from afar the naming here seems really confusing. > > > > > > That look from afar is valuable, because I'm too close to the problem to see > > how the naming looks. :) > > > > unpin_user_page() sounds symmetrical. It's true that it would cause more > > churn (which is why I started off with a proposal that avoids changing the > > names of put_user_page*() APIs). But OTOH, the amount of churn is proportional > > to the change in direction here, and it's really only 10 or 20 lines changed, > > in the end. > > > > So I'm open to changing to that naming. It would be nice to hear what others > > prefer, too... > > FWIW I'd find unpin_user_page() also better than put_user_page() as a > counterpart to pin_user_pages(). One more point from afar on pin/unpin: We use that a lot in graphics for permanently pinned graphics buffer objects. Which really only should be used for scanout. So at least graphics folks should have an appropriate mindset and try to make sure we don't overuse this stuff. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C2642C17449 for ; Wed, 13 Nov 2019 11:43:18 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9945E222D3 for ; Wed, 13 Nov 2019 11:43:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9945E222D3 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id EA8B489D02; Wed, 13 Nov 2019 11:43:17 +0000 (UTC) Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by gabe.freedesktop.org (Postfix) with ESMTPS id 095486ECE5 for ; Wed, 13 Nov 2019 11:43:15 +0000 (UTC) Received: by mail-wr1-x443.google.com with SMTP id z10so1952558wrs.12 for ; Wed, 13 Nov 2019 03:43:15 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :in-reply-to:user-agent; bh=NWmx5zlrVzI636UV5zn7jwNNYyPpT2kzazOSeqZFCPQ=; b=I07dfz+TLbOTgKzgN2GaZbWqbu1VuHjot0X+Bu9eP+0qhxecIgj33yTVU+NQkIo61e 1o10hNsEFJMU6qz3L5zR2+3JVVMPOVXZCbSA3oLPAkq5uIHiZGY0ZzUvz7rJsxVzI579 +fCPTNwL/6UHdSgER3f55rMJsQQ67kHzKR4/bfWVQ7Kyjg62EqN4xkmkdazRaFCv6gCP AM0ZgyudHmsgWshAk7MXY3i3YmwYXbXsmKUQQto84IQz2YMwB8oMcTg+ptbgFRy1u26q hApe5KrnIuQ4uOcr0qUc8BAIYsExFy5u5pkEZBiAPNf5yKId8BJPuSteuP+yMlhKrQQh z4CQ== X-Gm-Message-State: APjAAAVOyCSojYpQmhEcaFAeccoNV8M+23W7LFMpOHPpeihRkFJWEcCJ pGvaqUlx1ydlapvtudoaay51aA== X-Google-Smtp-Source: APXvYqw4ALVmGTh9KFISsJCvLVpFEzXuyu2WMWEkcAdM7khXUlUWKA93QR1nKFP8k/o5YdLFIE0ItA== X-Received: by 2002:a5d:50ce:: with SMTP id f14mr2625324wrt.219.1573645394576; Wed, 13 Nov 2019 03:43:14 -0800 (PST) Received: from phenom.ffwll.local (212-51-149-96.fiber7.init7.net. [212.51.149.96]) by smtp.gmail.com with ESMTPSA id w4sm2544060wrs.1.2019.11.13.03.43.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Nov 2019 03:43:13 -0800 (PST) Date: Wed, 13 Nov 2019 12:43:11 +0100 From: Daniel Vetter To: Jan Kara Subject: Re: [PATCH v3 00/23] mm/gup: track dma-pinned pages: FOLL_PIN, FOLL_LONGTERM Message-ID: <20191113114311.GP23790@phenom.ffwll.local> Mail-Followup-To: Jan Kara , John Hubbard , Jason Gunthorpe , Andrew Morton , Al Viro , Alex Williamson , Benjamin Herrenschmidt , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , Christoph Hellwig , Dan Williams , Dave Chinner , David Airlie , "David S . Miller" , Ira Weiny , Jens Axboe , Jonathan Corbet , =?iso-8859-1?B?Suly9G1l?= Glisse , Magnus Karlsson , Mauro Carvalho Chehab , Michael Ellerman , Michal Hocko , Mike Kravetz , Paul Mackerras , Shuah Khan , Vlastimil Babka , bpf , dri-devel , kvm@vger.kernel.org, linux-block@vger.kernel.org, Linux Doc Mailing List , linux-fsdevel@vger.kernel.org, "open list:KERNEL SELFTEST FRAMEWORK" , "open list:DMA BUFFER SHARING FRAMEWORK" , linux-rdma@vger.kernel.org, linuxppc-dev , netdev , Linux MM , LKML References: <20191112000700.3455038-1-jhubbard@nvidia.com> <20191112203802.GD5584@ziepe.ca> <02fa935c-3469-b766-b691-5660084b60b9@nvidia.com> <7b671bf9-4d94-f2cc-8453-863acd5a1115@nvidia.com> <20191113101210.GD6367@quack2.suse.cz> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191113101210.GD6367@quack2.suse.cz> X-Operating-System: Linux phenom 5.2.0-3-amd64 User-Agent: Mutt/1.12.2 (2019-09-21) X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=sender:date:from:to:cc:subject:message-id:mail-followup-to :references:mime-version:content-disposition:in-reply-to:user-agent; bh=NWmx5zlrVzI636UV5zn7jwNNYyPpT2kzazOSeqZFCPQ=; b=C0Dbe7TCduZqSim4I/9b7E74bGQO34GH/iKoO+dE+3EHLfWv1lLPGbvorBCoaRGMDb 48v7HTSQHP1LaVgvLNGy/yOxyJTlvTeKuq2CZR/Q7GIgmnQIbkvYhHi8TV/Ec+0WSA8P awH+k+k5IQBNK5RO6uqKbJl7dFmz19ED4sy2I= X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Michal Hocko , kvm@vger.kernel.org, Linux Doc Mailing List , David Airlie , Dave Chinner , dri-devel , LKML , Linux MM , Paul Mackerras , "open list:KERNEL SELFTEST FRAMEWORK" , Ira Weiny , Jonathan Corbet , linux-rdma@vger.kernel.org, Michael Ellerman , Christoph Hellwig , Jason Gunthorpe , Vlastimil Babka , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , "open list:DMA BUFFER SHARING FRAMEWORK" , Shuah Khan , John Hubbard , linux-block@vger.kernel.org, =?iso-8859-1?B?Suly9G1l?= Glisse , Al Viro , Dan Williams , Mauro Carvalho Chehab , bpf , Magnus Karlsson , Jens Axboe , netdev , Alex Williamson , linux-fsdevel@vger.kernel.org, Andrew Morton , linuxppc-dev , "David S . Miller" , Mike Kravetz Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191113114311.WGVUgLNsf3t8ew0BPC9ArUNaFoDdONbhEPVFjAZeKB8@z> T24gV2VkLCBOb3YgMTMsIDIwMTkgYXQgMTE6MTI6MTBBTSArMDEwMCwgSmFuIEthcmEgd3JvdGU6 Cj4gT24gV2VkIDEzLTExLTE5IDAxOjAyOjAyLCBKb2huIEh1YmJhcmQgd3JvdGU6Cj4gPiBPbiAx MS8xMy8xOSAxMjoyMiBBTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiA+IC4uLgo+ID4gPiA+ID4g V2h5IGFyZSB3ZSBkb2luZyB0aGlzPyBJIHRoaW5rIHRoaW5ncyBnb3QgY29uZnVzZWQgaGVyZSBz b21lcGxhY2UsIGFzCj4gPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gQmVjYXVzZToKPiA+ID4gPiAK PiA+ID4gPiBhKSBUaGVzZSBuZWVkIHB1dF9wYWdlKCkgY2FsbHMsICBhbmQKPiA+ID4gPiAKPiA+ ID4gPiBiKSB0aGVyZSBpcyBubyBwdXRfcGFnZXMoKSBjYWxsLCBidXQgdGhlcmUgaXMgYSByZWxl YXNlX3BhZ2VzKCkgY2FsbCB0aGF0Cj4gPiA+ID4gaXMsIGFyZ3VhYmx5LCB3aGF0IHB1dF9wYWdl cygpIHdvdWxkIGJlLgo+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+ID4gdGhlIGNvbW1lbnQgc3Rp bGwgc2F5czoKPiA+ID4gPiA+IAo+ID4gPiA+ID4gLyoqCj4gPiA+ID4gPiAgICogcHV0X3VzZXJf cGFnZSgpIC0gcmVsZWFzZSBhIGd1cC1waW5uZWQgcGFnZQo+ID4gPiA+ID4gICAqIEBwYWdlOiAg ICAgICAgICAgIHBvaW50ZXIgdG8gcGFnZSB0byBiZSByZWxlYXNlZAo+ID4gPiA+ID4gICAqCj4g PiA+ID4gPiAgICogUGFnZXMgdGhhdCB3ZXJlIHBpbm5lZCB2aWEgZ2V0X3VzZXJfcGFnZXMqKCkg bXVzdCBiZSByZWxlYXNlZCB2aWEKPiA+ID4gPiA+ICAgKiBlaXRoZXIgcHV0X3VzZXJfcGFnZSgp LCBvciBvbmUgb2YgdGhlIHB1dF91c2VyX3BhZ2VzKigpIHJvdXRpbmVzCj4gPiA+ID4gPiAgICog YmVsb3cuCj4gPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gT2hoaCwgSSBtaXNzZWQgdGhvc2UgY29t bWVudHMuIFRoZXkgbmVlZCB0byBhbGwgYmUgY2hhbmdlZCBvdmVyIHRvCj4gPiA+ID4gc2F5ICJw YWdlcyB0aGF0IHdlcmUgcGlubmVkIHZpYSBwaW5fdXNlcl9wYWdlcyooKSBvcgo+ID4gPiA+IHBp bl9sb25ndGVybV9wYWdlcyooKSBtdXN0IGJlIHJlbGVhc2VkIHZpYSBwdXRfdXNlcl9wYWdlKigp LiIKPiA+ID4gPiAKPiA+ID4gPiBUaGUgZ2V0X3VzZXJfcGFnZXMqKCkgcGFnZXMgbXVzdCBzdGls bCBiZSByZWxlYXNlZCB2aWEgcHV0X3BhZ2UuCj4gPiA+ID4gCj4gPiA+ID4gVGhlIGNodXJuIGlz IGR1ZSB0byBhIGZhaXJseSBzaWduaWZpY2FudCBjaGFuZ2UgaW4gc3RyYXRlZ3ksIHdoaXMKPiA+ ID4gPiBpczogaW5zdGVhZCBvZiBjaGFuZ2luZyBhbGwgZ2V0X3VzZXJfcGFnZXMqKCkgc2l0ZXMg dG8gY2FsbAo+ID4gPiA+IHB1dF91c2VyX3BhZ2UoKSwgY2hhbmdlIHNlbGVjdGVkIHNpdGVzIHRv IGNhbGwgcGluX3VzZXJfcGFnZXMqKCkgb3IKPiA+ID4gPiBwaW5fbG9uZ3Rlcm1fcGFnZXMqKCks IHBsdXMgcHV0X3VzZXJfcGFnZSgpLgo+ID4gPiAKPiA+ID4gQ2FuJ3Qgd2UgY2FsbCB0aGlzIHVu cGluX3VzZXJfcGFnZSB0aGVuLCBmb3Igc29tZSBzeW1tZXRyeT8gT3IgaXMgdGhhdAo+ID4gPiBl dmVuIG1vcmUgY2h1cm4/Cj4gPiA+IAo+ID4gPiBMb29raW5nIGZyb20gYWZhciB0aGUgbmFtaW5n IGhlcmUgc2VlbXMgcmVhbGx5IGNvbmZ1c2luZy4KPiA+IAo+ID4gCj4gPiBUaGF0IGxvb2sgZnJv bSBhZmFyIGlzIHZhbHVhYmxlLCBiZWNhdXNlIEknbSB0b28gY2xvc2UgdG8gdGhlIHByb2JsZW0g dG8gc2VlCj4gPiBob3cgdGhlIG5hbWluZyBsb29rcy4gOikKPiA+IAo+ID4gdW5waW5fdXNlcl9w YWdlKCkgc291bmRzIHN5bW1ldHJpY2FsLiBJdCdzIHRydWUgdGhhdCBpdCB3b3VsZCBjYXVzZSBt b3JlCj4gPiBjaHVybiAod2hpY2ggaXMgd2h5IEkgc3RhcnRlZCBvZmYgd2l0aCBhIHByb3Bvc2Fs IHRoYXQgYXZvaWRzIGNoYW5naW5nIHRoZQo+ID4gbmFtZXMgb2YgcHV0X3VzZXJfcGFnZSooKSBB UElzKS4gQnV0IE9UT0gsIHRoZSBhbW91bnQgb2YgY2h1cm4gaXMgcHJvcG9ydGlvbmFsCj4gPiB0 byB0aGUgY2hhbmdlIGluIGRpcmVjdGlvbiBoZXJlLCBhbmQgaXQncyByZWFsbHkgb25seSAxMCBv ciAyMCBsaW5lcyBjaGFuZ2VkLAo+ID4gaW4gdGhlIGVuZC4KPiA+IAo+ID4gU28gSSdtIG9wZW4g dG8gY2hhbmdpbmcgdG8gdGhhdCBuYW1pbmcuIEl0IHdvdWxkIGJlIG5pY2UgdG8gaGVhciB3aGF0 IG90aGVycwo+ID4gcHJlZmVyLCB0b28uLi4KPiAKPiBGV0lXIEknZCBmaW5kIHVucGluX3VzZXJf cGFnZSgpIGFsc28gYmV0dGVyIHRoYW4gcHV0X3VzZXJfcGFnZSgpIGFzIGEKPiBjb3VudGVycGFy dCB0byBwaW5fdXNlcl9wYWdlcygpLgoKT25lIG1vcmUgcG9pbnQgZnJvbSBhZmFyIG9uIHBpbi91 bnBpbjogV2UgdXNlIHRoYXQgYSBsb3QgaW4gZ3JhcGhpY3MgZm9yCnBlcm1hbmVudGx5IHBpbm5l ZCBncmFwaGljcyBidWZmZXIgb2JqZWN0cy4gV2hpY2ggcmVhbGx5IG9ubHkgc2hvdWxkIGJlCnVz ZWQgZm9yIHNjYW5vdXQuIFNvIGF0IGxlYXN0IGdyYXBoaWNzIGZvbGtzIHNob3VsZCBoYXZlIGFu IGFwcHJvcHJpYXRlCm1pbmRzZXQgYW5kIHRyeSB0byBtYWtlIHN1cmUgd2UgZG9uJ3Qgb3ZlcnVz ZSB0aGlzIHN0dWZmLgotRGFuaWVsCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVy LCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=