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 256CEC77B7C for ; Fri, 26 May 2023 09:26:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B16B3900004; Fri, 26 May 2023 05:26:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AC8C2900002; Fri, 26 May 2023 05:26:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 98F8C900004; Fri, 26 May 2023 05:26:00 -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 87AA8900002 for ; Fri, 26 May 2023 05:26:00 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 6DE0A1C7E26 for ; Fri, 26 May 2023 09:26:00 +0000 (UTC) X-FDA: 80831874480.20.535B26A Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by imf15.hostedemail.com (Postfix) with ESMTP id 5ADEFA0010 for ; Fri, 26 May 2023 09:25:58 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=CvvNWfFp; spf=pass (imf15.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=lstoakes@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1685093158; a=rsa-sha256; cv=none; b=11hwZrlLjdT1phZp+RkELxsMS+HDWdhsAd51e48JHEyhxx8FZzSK+KDtKTW3wQpBNp3lcd QyR+FBgy8Z8ns2AN/GVHpEzxUSKpvMpTVTGsu5sSeBRLnUwYoCweBlrvABbXeQMf1LuFNG ZUzRQUmUGlHaMMTxc4RRqVKt8UiV3j8= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=CvvNWfFp; spf=pass (imf15.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=lstoakes@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1685093158; 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=33W3DIYt68JCc1u4c3IHIWclixpfbjQ4h21dOvzyDuw=; b=JvbLBl7Ei1Tp0HpJ2iqLYhxvUg6KymOUNbAAwxOQmfExUEOehh7CY0psAROFF9BolFxmgH 9eWbzz6ZIXveNQ5oIH2xm7X/E0Q58HDK8mYTkFfHI1jHFzi+cLDEeHg6iRyepC2LEIN/6m F38nE/PoRBorIleYy1EePw/4jJH4lxw= Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-3f611ccd06eso3638105e9.0 for ; Fri, 26 May 2023 02:25:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685093157; x=1687685157; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=33W3DIYt68JCc1u4c3IHIWclixpfbjQ4h21dOvzyDuw=; b=CvvNWfFpQ3Ld/4CYyw7Xw62+CVZ8Psau5n52Twi4YWjNr5q3rQpPgQCv3bSHqVNQOg 1mOE72h1EqZMonHUUcfqrzu/vsJH+0lX803aAnutUrpkYBrRsLBy0VGDYsnd7Z2w1hCh XXdECMzqzEm/BvE8gGyLBbplUgqVFh0XHMoxDvHfi5B2RUonAdJRwhd3IHCNZd6og5fj LQwt06eQOz+OFluI8lZhk0MH6PDV04YkytC0+ygQ9vbrjEUrbGUSu4P1uLEuAT85Qayg 4TBpAtOEgFQhOH5ZjcjZdZ3wI5xyaoFCy+dqiU+eQ2GyK/EsudKbsvlW2NjQMLajFU+8 HXmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685093157; x=1687685157; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=33W3DIYt68JCc1u4c3IHIWclixpfbjQ4h21dOvzyDuw=; b=XeQf3eRG0S9YDDxRKIqRqI8++8XeLDb1ij4UiKxBGrvYdH6lrB99gbBE360WWuOg96 IE5yUKEcV3OFTna8BzMFCVMUQ5uhKrbwp5+jKGGUBOCC179fnU5g4spJ2WO4OriuH4A8 kVFrwcf4hSjuO1ozQKPWtw8mbATdmhhVVal5Liz5m1YyqolmoEaG1Jx0m6wzVClrel4E K6qDKrOGi7axxIZwxna307vE/ZzeqdFBih/NG95E7qXlIu/ghs5j1P8Vu+kQSYN2xyFp qS57cH/Fkt/dk+c/Q0oEmS0VDY0CsIp+mCn+/ooZgWlj5oTZvAcOgOVXecmUptRWko04 5l9w== X-Gm-Message-State: AC+VfDxvxFvEK7L3OfHzkOx/tubsf+tQn+1BW2Tf2f/j44EyoTcqrCok S7tbnUvNaxCHvq3kXa+t/Yo= X-Google-Smtp-Source: ACHHUZ5qATJanUKkPm4qBKb8bF5/1byjJd31CEWo1ros2NS7T6k47Kd+YmqaqHRsSYNaDFQZ5JaRQQ== X-Received: by 2002:a05:600c:214d:b0:3f6:6c0:7c9b with SMTP id v13-20020a05600c214d00b003f606c07c9bmr951472wml.15.1685093156586; Fri, 26 May 2023 02:25:56 -0700 (PDT) Received: from localhost (host81-154-179-160.range81-154.btcentralplus.com. [81.154.179.160]) by smtp.gmail.com with ESMTPSA id u15-20020a05600c210f00b003f42d8dd7d1sm8272494wml.7.2023.05.26.02.25.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 May 2023 02:25:55 -0700 (PDT) Date: Fri, 26 May 2023 10:23:46 +0100 From: Lorenzo Stoakes To: David Howells Cc: Christoph Hellwig , David Hildenbrand , Jens Axboe , Al Viro , Matthew Wilcox , Jan Kara , Jeff Layton , Jason Gunthorpe , Logan Gunthorpe , Hillf Danton , Christian Brauner , Linus Torvalds , linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton Subject: Re: [RFC PATCH v2 1/3] mm: Don't pin ZERO_PAGE in pin_user_pages() Message-ID: <859fa154-a0ea-4f7b-9f57-7e36107982b6@lucifer.local> References: <4f479af6-2865-4bb3-98b9-78bba9d2065f@lucifer.local> <89c7f535-8fc5-4480-845f-de94f335d332@lucifer.local> <20230525223953.225496-1-dhowells@redhat.com> <20230525223953.225496-2-dhowells@redhat.com> <520730.1685090615@warthog.procyon.org.uk> <522654.1685092526@warthog.procyon.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <522654.1685092526@warthog.procyon.org.uk> X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 5ADEFA0010 X-Stat-Signature: fe6ciw84uancdcnr6xaro7i44da44dco X-Rspam-User: X-HE-Tag: 1685093158-746562 X-HE-Meta: U2FsdGVkX18AQM3b/0cMUcfKyy5cEkfVdErAiMl7Qb+2F8eeJWxGnew/q9wkW9WjQ0ceQ/9TJU1+3C5i+Y2HzhBTq7ebxEKggDyBkqS6c7+/E1qatjV0aXWYPuEyPU+UMwt1dXeoaoVaBadlJ+Ad2r+UJ2NYYCvSdeOHVUwOy2HWJ8ACzrtvjAmx4SDGyEOPgBkPMA+1pRI8XpKcIXqbiogUTs+QVhRrUAZhHSKGTBdJsmfmw9fCu7oBLh2dNtVPs8+NMcVQSpAcSvtZtVOQn05csrAW1oyY1aGcQ1Z9frSiGtKELu73gVuQhUpWSQCXUZsaCuZKs/PwafD7NdEvyUHsZgv6Ffagi8RJ47wCAAdXuscgQlo7pOXtKF5trge580gQTFOC0UXrUTfOkDAtbENYgJI5BupF9LtTJixFLXtRwhMHU7jN0H/177tH/rMzWcP9vp48bROTPTGKs49SdLQU4BpKv28fo7aUuhbxfIwFIsXSyoPnS9uvSXu8G7ZEb28QaVLj9GuuJg4WIoVFaBvn5Ae1nsk3ZerMQShgEQR0pBj3SBvbbDV6QxyI1FCNK8SlBgy2m76mlLNWdecNlup9hnH6Mav+ACkhFhOAWZDSH9k7TcdZWx1q3E0ce8R3T6ehreSR06bUVtcg/JKWBGTEYzxlXqkrsitfkbbKfPor7v4tS61nKfBJoKnlXfWVlIKauek7SMEg4KfmoqMcl6jcGucXlh9gr9uNvL0QEEerD0vtPcwvriEWozixkAWsyninjZGIPrUAn08K+t5/pPBV2hrLNFL8IYJUGaUZQt1JOgyJmVdZ1PxZdxyYqOfgh9tJ+uK0WAEeCR5F6cGQORjBGEgY+aUt787D76LHiQ3r4zy30MrpRMfrSgQW5p3BsZl8UajQygvP0ga/nOzMy85z6BIfrj6IUJ8mu4UAknIjeAWDwMmlwDbdqqWuIuGQZ5PTzM25yf+Ea/zB/rA gQ3Zl3LF ypJE8OG6cINSXs5HXxDiV+O4nBIq8oglukIK53UnAbrYkP38/mh+608kLHASNLbxIotQmQwRZ4dPUgXrnFMKPGo6G27wmg+NSxPeCm901+cn06ZblgjNJtzYSkUgCceH666axL4y/ML7qfy6/mMmoBNjGIfHKyN6TGPwAdhz4PiAI2LKlONN8aiE8O4Ln2P7jvqYWw5dko6dydfk/mXmz2ZzwjW9dzhA03du50I7KFPe3WQpHHYzstiKgSCFHmn9NBpMHsJbCppHBoclMPY36sYHmBugqFXhqoreaCMA5Shn/9bLnBtYyVyFKE3jif9LDxvh6V3dVV6uWnQezt6eXzo0sgm92cHHoegW9Icuscp9nizffSeSrOkvWVS+KgYBv6sRVL3+cp0nVlPdKUUFYO9JctpEDRkq+V/o8+JAp4PW2njmvYs3wN5gJ+t4ZHAVr5wS5Hk5fAKSWoa/hK2oINwq4r+emipcA6E7VFskcVsEhRSZaNPzzJpPvKwi7gzY97YZ0hl0HMQBUVzOQgYhC7PkxWSPN31fh5O1weW0dJxqPuvQAiTjMrXNZGQ+/fqRviHOlalBBXpP1mnk= 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: On Fri, May 26, 2023 at 10:15:26AM +0100, David Howells wrote: > Lorenzo Stoakes wrote: > > > > iov_iter_extract_pages(), on the other hand, is only used in two places > > > with these patches and the pins are always released with > > > unpin_user_page*() so it's a lot easier to audit. > > > > Thanks for the clarification. I guess these are the cases where you're > > likely to see zero page usage, but since this is changing all PUP*() callers > > don't you need to audit all of those too? > > I don't think it should be necessary. This only affects pages obtained from > gup with FOLL_PIN - and, so far as I know, those always have to be released > with unpin_user_page*() which is part of the gup API and thus it should be > transparent to the users. > Right, I was only saying so in relation to you stating the need to audit, for precisely this reason I wondered why you felt the need to :) > Pages obtained FOLL_GET, on the other hand, aren't freed through the gup API - > and there are a bunch of ways of releasing them - and getting additional refs > too. Yes that's a very good point! Sorry, in my enthusiasm for GUP reform this thorny aspect slipped my mind... As Christoph said though hopefully over time we can limit the use of FOLL_GET so this becomes easier perhaps. Larger discussion on this area in [0] :) [0]:https://lore.kernel.org/all/ZGWnq%2FdAYELyKpTy@infradead.org/ > > David >