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 77AE5EE01FA for ; Wed, 11 Sep 2024 00:49:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 07ADD8E000A; Tue, 10 Sep 2024 20:49:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 02A6F8D00E2; Tue, 10 Sep 2024 20:49:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E34618E000A; Tue, 10 Sep 2024 20:49:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id BD92A8D00E2 for ; Tue, 10 Sep 2024 20:49:15 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 72928A0F48 for ; Wed, 11 Sep 2024 00:49:15 +0000 (UTC) X-FDA: 82550623470.24.C889B5B Received: from ale.deltatee.com (ale.deltatee.com [204.191.154.188]) by imf25.hostedemail.com (Postfix) with ESMTP id 41DA5A000C for ; Wed, 11 Sep 2024 00:49:13 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=deltatee.com header.s=20200525 header.b=PfU+CRym; spf=pass (imf25.hostedemail.com: domain of logang@deltatee.com designates 204.191.154.188 as permitted sender) smtp.mailfrom=logang@deltatee.com; dmarc=pass (policy=quarantine) header.from=deltatee.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1726015725; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=nTtMb9H3dXUpUSnSef+Be8oMvAgnwIOToyszkwVy8e4=; b=XsvC29uz9pQWQEQSYLq0+GbJLV5takownPyh2q8hZ08gdCifaHNVtPuYHu3qMFVhBsUCJB fNTVRyCSxcJ6UeciogfcUP2PQKrvpfd0tFe7DWYYvEJFNt8mm10MpRzFXEjGV3/fDbae7g xcB6kIJKpPS2lyKIHwXwJK8OyTyeC7w= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=deltatee.com header.s=20200525 header.b=PfU+CRym; spf=pass (imf25.hostedemail.com: domain of logang@deltatee.com designates 204.191.154.188 as permitted sender) smtp.mailfrom=logang@deltatee.com; dmarc=pass (policy=quarantine) header.from=deltatee.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1726015725; a=rsa-sha256; cv=none; b=1hVmJQA1oQd7n1OYuTmWnMLtESo0SZ5ro/rxmM0FDvYzCQxGF849tMMf47lTOmRs8OsGm8 XgMGzGl4ZjlgZrGm7WKvYbjkpjxaKLzBJzzNkWa30rVTAOqh2XUcJwz+zh6S3UhNzk4GJb 7hSkVk1keLKb8tOrlh28DnP/4U0wkbo= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=deltatee.com; s=20200525; h=Subject:In-Reply-To:From:References:Cc:To: MIME-Version:Date:Message-ID:content-disposition; bh=nTtMb9H3dXUpUSnSef+Be8oMvAgnwIOToyszkwVy8e4=; b=PfU+CRymWcXZGU8mYwkDuJY5Nt KxhnN6hTdnUpKK6c3FLfnreXMcwDl5uXgI0f+QVr9IAL/a7U4alJzvox0Hu/jx8FdVvfCvk6K23RF lK8vn7f2TcsKwePi8XAAm+Do+v3+uwGtpS1ailTPFQB4bfs203NzQnnCCUXb/sMVlet5HU1E6m9vy zcwHt8C4DgCDQe3olE14BG0oSvKMkpTZrdceJIxDReKKpwni+aYI+Z20uWIsMZDYZ8HVFkh+hCtJv YV4oSurTolqbMlZJN15P2PVDkvC2Zg5xnEPszFLT8tR9OOrTm8xYZG/nJd2oKo02MXEmzvmD9xZuB l6TfHBVA==; Received: from d104-157-31-28.abhsia.telus.net ([104.157.31.28] helo=[192.168.1.250]) by ale.deltatee.com with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1soBXi-000ozM-2O; Tue, 10 Sep 2024 18:49:11 -0600 Message-ID: <6f3402ae-01ad-4764-8941-f88bc77f5227@deltatee.com> Date: Tue, 10 Sep 2024 18:48:48 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Alistair Popple , dan.j.williams@intel.com, linux-mm@kvack.org Cc: vishal.l.verma@intel.com, dave.jiang@intel.com, bhelgaas@google.com, jack@suse.cz, jgg@ziepe.ca, catalin.marinas@arm.com, will@kernel.org, mpe@ellerman.id.au, npiggin@gmail.com, dave.hansen@linux.intel.com, ira.weiny@intel.com, willy@infradead.org, djwong@kernel.org, tytso@mit.edu, linmiaohe@huawei.com, david@redhat.com, peterx@redhat.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, nvdimm@lists.linux.dev, linux-cxl@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, jhubbard@nvidia.com, hch@lst.de, david@fromorbit.com References: <4f8326d9d9e81f1cb893c2bd6f17878b138cf93d.1725941415.git-series.apopple@nvidia.com> Content-Language: en-CA From: Logan Gunthorpe In-Reply-To: <4f8326d9d9e81f1cb893c2bd6f17878b138cf93d.1725941415.git-series.apopple@nvidia.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 104.157.31.28 X-SA-Exim-Rcpt-To: apopple@nvidia.com, dan.j.williams@intel.com, linux-mm@kvack.org, vishal.l.verma@intel.com, dave.jiang@intel.com, bhelgaas@google.com, jack@suse.cz, jgg@ziepe.ca, catalin.marinas@arm.com, will@kernel.org, mpe@ellerman.id.au, npiggin@gmail.com, dave.hansen@linux.intel.com, ira.weiny@intel.com, willy@infradead.org, djwong@kernel.org, tytso@mit.edu, linmiaohe@huawei.com, david@redhat.com, peterx@redhat.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, nvdimm@lists.linux.dev, linux-cxl@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, jhubbard@nvidia.com, hch@lst.de, david@fromorbit.com X-SA-Exim-Mail-From: logang@deltatee.com Subject: Re: [PATCH 02/12] pci/p2pdma: Don't initialise page refcount to one X-SA-Exim-Version: 4.2.1 (built Wed, 06 Jul 2022 17:57:39 +0000) X-SA-Exim-Scanned: Yes (on ale.deltatee.com) X-Rspam-User: X-Stat-Signature: whqn7b4q8mkm8x5tti8y9mk5iu58axyg X-Rspamd-Queue-Id: 41DA5A000C X-Rspamd-Server: rspam11 X-HE-Tag: 1726015753-491101 X-HE-Meta: U2FsdGVkX19SsiRnG+5zLAc5xpDqqvDSLGA+c2RdfJ3YXMlmJ0EsFlCrOdO1gNYbDaGCdpdODWYaKvKTCGqdLHMJ5nZLtkewjj2dY2nA7TZkZyvtMAU0xf1WsFWYQ3i272ZcOWClISpzVZomnVKk3fNuSpZO41ck3x4n9apL3ovrVVOpBa5VXyXkuGsTLzkHJqu3z+LyDztwvyM4r3exjRar9ZzGwpIsTQss6ACdt0lgY878xe5/97PVLCCujCyhPsAmjFXFmhPgENjC27PMKCC7CSfHUrh+5LKauJjAtkB2ZCV/DgwvvONedWCWeUAgFhYUIUuHKpQdtZQfwZ1aPv8GZDU18mPSfd1rvu4z7TsEJXWxWkFUkqhSJMcUNiXtrba+4ik73eeyVyi9RiokX/kw8VLpWAEMSX5mysBLsPjix3h8LWQBej7WNumkMjYJicAFGWPdAdyad94MHj8G/uSRstrdhZ/6w4rmiVjXvTIf3aHnH8w5XJ5QHhCjP638KYPLljRPOoHQkwRm/2dB3kXm0ynbyxQHAQFb5j65iecdV+WPt0F+Fhh01cZymb8WjreOI/5Aps/eg9Q9HNX/CryUOskX0CECfxQcKS6aGirqn3ZCDYg8ZAG3YO+kfC+8XSMR17SDDURI2QljhsPbRRl2pLslV432XfGaCKxSDbUeTANPfnpPj/YzKuL0VN0uF4qEVhzrxzd8UMRF0SyTLNFPv6AWyRAxcGSL5F/0/qFst46jBi++FRsF0M5Or32yTm264kqiN928w/TXXZeXhR8shwsBbHOi8tGZ9u384ozPPzUaJBaHQmA1dT39bz1XIFwv+MWW3kV11MqUmi+w41v1vdpD6miapkSi/LFxsMfUY16TcaEFoceBQbEsE/WX5Wg1gaYlrmCMX8CTHRcpoIFQ5bJx6cU+b9Io9nEabrCw7b3fqYvntass7O0R4Lc0miF1A1EMe4KQsNbHfdP i8HkO9sN Edb+0ZvX/dFUKWCq6F37iO7+kr+y5lXT86PCjuAVstpDyWnS3RSGu6Neo3dnIo7Nrzf0vqfJ9DF8zRf++2jzW1qYVY0Nl9xYAn1ML4BC4EYulXuG6Wsfj2HxO2+hE0l2cL3ylFh3cS8zvQ/zJ+spO58vNPvI8MDMsfdHW/Lh1AAQP5X+hJ7UbC+LupecfMN9bMtbXtxnJ53xZP94iHbq7Jo/Acr9082DbI6RLS0MUm45ekjOvxWt2mE97lDo/C+l1fsms8d5ukp9JykCwQaNnBOqC/Q/2W2mIS2Q/Wb7JPC5kVnA= 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: List-Subscribe: List-Unsubscribe: On 2024-09-09 22:14, Alistair Popple wrote: > The reference counts for ZONE_DEVICE private pages should be > initialised by the driver when the page is actually allocated by the > driver allocator, not when they are first created. This is currently > the case for MEMORY_DEVICE_PRIVATE and MEMORY_DEVICE_COHERENT pages > but not MEMORY_DEVICE_PCI_P2PDMA pages so fix that up. > > Signed-off-by: Alistair Popple > --- > drivers/pci/p2pdma.c | 6 ++++++ > mm/memremap.c | 17 +++++++++++++---- > mm/mm_init.c | 22 ++++++++++++++++++---- > 3 files changed, 37 insertions(+), 8 deletions(-) > > diff --git a/drivers/pci/p2pdma.c b/drivers/pci/p2pdma.c > index 4f47a13..210b9f4 100644 > --- a/drivers/pci/p2pdma.c > +++ b/drivers/pci/p2pdma.c > @@ -129,6 +129,12 @@ static int p2pmem_alloc_mmap(struct file *filp, struct kobject *kobj, > } > > /* > + * Initialise the refcount for the freshly allocated page. As we have > + * just allocated the page no one else should be using it. > + */ > + set_page_count(virt_to_page(kaddr), 1); > + > + /* > * vm_insert_page() can sleep, so a reference is taken to mapping > * such that rcu_read_unlock() can be done before inserting the > * pages This seems to only set reference count to the first page, when there can be more than one page referenced by kaddr. I suspect the page count adjustment should be done in the for loop that's a few lines lower than this. I think a similar mistake was made by other recent changes. Thanks, Logan