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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 360DFC77B79 for ; Wed, 12 Apr 2023 08:41:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C4424900006; Wed, 12 Apr 2023 04:41:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BCD45900004; Wed, 12 Apr 2023 04:41:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A6D68900006; Wed, 12 Apr 2023 04:41:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 92E5E900004 for ; Wed, 12 Apr 2023 04:41:20 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id AC9521C81F2 for ; Wed, 12 Apr 2023 08:41:18 +0000 (UTC) X-FDA: 80672094678.18.BB7030C Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf16.hostedemail.com (Postfix) with ESMTP id CD312180022 for ; Wed, 12 Apr 2023 08:41:15 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=LPbHFkNK; spf=pass (imf16.hostedemail.com: domain of dhowells@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=dhowells@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681288875; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=eRSll74NCcd80urM44e9yQtcqSB/U/f7M6z7OELxB1I=; b=mfJNa1a0Jd091SvY5+mS6l2+6DMlMD2fimJ8KSRgQx5ucD6M+/63tafwxvJ3/SxzLsVAE7 PJWcuIQF1OZfoiOXRdsQ2U1fv6KExp1EZ+gcAN663InJ6ziT5fZAoaNa/HGSN7Uxg/Erc9 5ZMvxQTvOBLLnz7IDrEiUYVgoPxvVnQ= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=LPbHFkNK; spf=pass (imf16.hostedemail.com: domain of dhowells@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=dhowells@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681288875; a=rsa-sha256; cv=none; b=Qk5d6UXA3by3Ag3mTYw0OMt/OpGn49nkn/w9hcP90FkpRFjEaioA3FkAZ2akLAhgtb8QZJ 5rWc62Dlzq3pkrxjPkUqtYLNh7fUg7HyWpwI/XrJfAbpxcvVki0uKC6c+GeSVe/Q+ZrIZI 9wzlzXwtMQBzSnAYhnBx0uBSMvC7YVI= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1681288875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=eRSll74NCcd80urM44e9yQtcqSB/U/f7M6z7OELxB1I=; b=LPbHFkNKjFFDCST/7JPNe5AyDyUFIcAqaWouQuhjlC1wHAZJ+NH9Wp/ziX9EMHbJs7jdAT rJ0W+6Mpq1aj81XXUFSOVY4aeIye5dvMpMIV2BEGBIsLRXrk1nz5AArkmUMIRGmVWaQNfZ 8A876aafCrDNuzboTnwDP6nS8gmXnVA= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-589-LH9WPCJYMiu87mbV_DbrZQ-1; Wed, 12 Apr 2023 04:41:10 -0400 X-MC-Unique: LH9WPCJYMiu87mbV_DbrZQ-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 6881385C6E4; Wed, 12 Apr 2023 08:41:10 +0000 (UTC) Received: from warthog.procyon.org.uk (unknown [10.33.36.177]) by smtp.corp.redhat.com (Postfix) with ESMTP id 887D41121320; Wed, 12 Apr 2023 08:41:08 +0000 (UTC) Organization: Red Hat UK Ltd. Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SI4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 3798903 In-Reply-To: <93f2614e-4521-8bc8-2eca-e7ad03e7e399@redhat.com> References: <93f2614e-4521-8bc8-2eca-e7ad03e7e399@redhat.com> To: David Hildenbrand Cc: dhowells@redhat.com, "Teterevkov, Ivan" , "linux-mm@kvack.org" , "jhubbard@nvidia.com" , "jack@suse.cz" , "rppt@linux.ibm.com" , "jglisse@redhat.com" , "ira.weiny@intel.com" , "linux-kernel@vger.kernel.org" , Christoph Hellwig , Matthew Wilcox Subject: Re: find_get_page() VS pin_user_pages() MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <37778.1681288767.1@warthog.procyon.org.uk> From: David Howells Date: Wed, 12 Apr 2023 09:41:07 +0100 Message-ID: <37946.1681288867@warthog.procyon.org.uk> X-Scanned-By: MIMEDefang 3.1 on 10.11.54.3 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: CD312180022 X-Rspam-User: X-Stat-Signature: btas1pesw9igk5yg5r8ftonq9kj6y65f X-HE-Tag: 1681288875-252250 X-HE-Meta: U2FsdGVkX1/UeXvM0jGjL+VU5zVAOTRrSfCAIKCI+qLPLsSIxEtcbGEgdeQ9LelfnmoToqC0ABrTCLA92dgig/WAVR5z8F1KwZUYoqLDBLNnCx9sb6V6qwbk7TA56mbTKuNVXePQIj0YyvNH0S1CgnslFXHPqBGXow9gdvxHp5fWR8ahKuI9s4ZlsztXPfBdZlTQb7QalfY/xYIvd31HoxIN/6b2pX+8ksyetPPLgnM2NFWU0UsHSQ99mzSpuk3Klb90JK0eU8sUzTE6/qu0u96gjVsWTwe4Ic1fcQsH/Et/OZxVvGepzeM7QHRPSDSsPIrISfi1rO0iIuh3b98U7aZVTt7yAJlhLBqLhY2KcCpM/CXKqOTP5n8wHV3EYh7wGS6cSoZfko5jA5bf9lGcGw8ULt42qnkohn4eQEN8XvcgUSgb44IpILve6kB3+vV4F7y2hz83jheZGyIzobBGvFGF3K1AO/E057cERLXG5FbuJ/KKPJfkKRFOehm8eG7SrNn6IETqkVQ/H/2n0iaygP1tlxlCL+hAdU+5N9j9bwz2YMGS3XmnRrx5AY/UOr+MwSnPcSIlsgy5qKle06u+qbj5LLNegDVoT761xvzQij7MRnifLE+/X5UxLz5WhtwAWwPByreCYT/gaVlKavauoH11K/H0YeqoM6GtozjDkdosuW6+QAupwbKxmFzaMltW/XteKkv8BzWH3amBVGNmXvqfVlkV+WMDlrKulcWf8WCz2SeoSRRP18uhWZoxN0rRFHo7sk6t/ltQRn11Bauky7+CtUrsTzBNsU6hcjjGypFZPHIT2cYhz4jbetBrz/q4uhNfaRJKuM0r9Udk/PcuaaOuWE2ZyCK9jOSwiTUJNTR+XNYeIHbSbpXNRDZZw5DVfb+8S2YP6St8IGIkDOs4wmP1IGI+juBkLLBAmY0798g2wjjghAQxyVK1qKnRgF4TqMjmRqL/C31xCQyLdyT N4oG6/5d yFszROEJLaKAYp/hW2T71y1hiIABiJ5+SmQfYl7ItBmEcem1cItkkU1526KuJ/UON+HMvSc8UesYgXgg56qDHcfyyeiNZHQ8lj6SKdkiZYdr5twWmYedM6U0sZQJ9I/a+KksfhY4Gvy3wkh9bXF/OZ1C2cRucDM+ys5I8Y8DZQ0RfYZp6H6+1Np4HIPB/0rKTMQ1aNREXizuxjloc0oJ5NyBlBoU+bQgxhix8XGYirXzp8aKZNrLyrsJ3BKiiNHd7H2Wt5dkxi3V9u6LDlhn0gTqrEevgCDkDR5yq X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: David Hildenbrand wrote: > I suspect that find_get_page() is not the kind of interface you want to use > for the purpose you describe. find_get_page() is a wrapper around > pagecache_get_page() and seems more like a helper for implementing an fs > (looking at the users and the fact that it only considers pages that are in > the pagecache). Btw, at some point we're going to need public functions to get extra pins on pages. vmsplice() should be pinning the pages it pushes into a pipe - so all pages in a pipe should probably be pinned - and anyone who splices a page out of a pipe and retains it (skbuffs spring strongly to mind) should also get a pin on the page. So should all pages held by an skbuff be pinned rather than ref'd? I have a patch to use the bottom two bits of an skb frag's page pointer to keep track of whether the page it points to is ref'd, pinned or neither, but if we can make it pin/not-pin them, I only need one bit for that. David