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 1AC81D6E2B2 for ; Wed, 20 Nov 2024 04:57:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7342F6B007B; Tue, 19 Nov 2024 23:57:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6E33B6B0083; Tue, 19 Nov 2024 23:57:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5DB666B0085; Tue, 19 Nov 2024 23:57:12 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 3F5B36B007B for ; Tue, 19 Nov 2024 23:57:12 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id A4A1AADFCE for ; Wed, 20 Nov 2024 04:57:11 +0000 (UTC) X-FDA: 82805263800.14.5A28771 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf03.hostedemail.com (Postfix) with ESMTP id 9FC9F20005 for ; Wed, 20 Nov 2024 04:56:46 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=seo2NImb; spf=none (imf03.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732078480; 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=I/P/E1mTF7l9r/I4oklTVyXLlBinMJv55qNUKb4iWuk=; b=HIKOeJtM4xf8nOaVBj8zaFwFnbQL15afggpf1pjVqukGvTGUAwfgJNnqpqH46ikZahoSQS RtrlIn151eWdMa+4eAQyJIUv1a9vSo/PHgbZBPtoBaSrEkEhXUZOxNBww+40PWuXGCUcT9 9wUQLWqZCDwaMnYZYALW+DKVHz2t8AA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732078480; a=rsa-sha256; cv=none; b=lfoMifY6iiqDvm/8vSJ4vNeR/LMKslS4VH9+UdZruzKBqmReKYQJD8LuaTtojOgFKZFpmE dhAH9idbtWC73nJ9MM6rqffD7CWUedS4oNmKo5O1nlApQCgJL1GdWOg7wezfZMwSrhmw1z wRr8BbOKV9flM/cFkaLgsQ1GGyJGxEI= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=seo2NImb; spf=none (imf03.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=I/P/E1mTF7l9r/I4oklTVyXLlBinMJv55qNUKb4iWuk=; b=seo2NImbxcoGX+KPaqpLm0bG8+ vr4+60f/7XdGWo4oVr90gmbg6Oo08eBACGBx6VqY3JvoGXpZGOXcKtgpHWotI7Kj1QS6RcA+UBBU4 +POSQd0+qVHYw3jiXk5wIrZ29JyT6jHBSMSIZi+dc5OPIm+kexGu8Eb6TcS8wthF6GAojmG/zVqsY TJHk/Z1FaT7EeL8OJCzBZI/7EqopxbOkPA51IwCvyNR74/Y/9pemqP+HtRWCqLceYrQ+A6N0kph4c c+rC+cLNsIe7heVneM/VObsBnts5ikDErerl/tky89iRc09kRX15XDempZPPGt2djVmkLv9KExWqq P4FdK3tw==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1tDclx-00000004rno-3GHX; Wed, 20 Nov 2024 04:57:01 +0000 Date: Wed, 20 Nov 2024 04:57:01 +0000 From: Matthew Wilcox To: Abdiel Janulgue Cc: rust-for-linux@vger.kernel.org, Miguel Ojeda , Alex Gaynor , Boqun Feng , Gary Guo , =?iso-8859-1?Q?Bj=F6rn?= Roy Baron , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Danilo Krummrich , Wedson Almeida Filho , Valentin Obst , open list , Andrew Morton , "open list:MEMORY MANAGEMENT" , airlied@redhat.com Subject: Re: [PATCH v3 0/2] rust: page: Add support for existing struct page mappings Message-ID: References: <20241119112408.779243-1-abdiel.janulgue@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241119112408.779243-1-abdiel.janulgue@gmail.com> X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 9FC9F20005 X-Stat-Signature: 5yaczsg3ywrd6osnkng778q3xnrzjf5h X-HE-Tag: 1732078606-313895 X-HE-Meta: U2FsdGVkX1+fA9+uhsvdMBJokA0CPdoFRwzgO0a7cIyT/+ap0FgxTEtPCwSis0WY/LggMLVCedHIfw3PvOEiFKS4HNEkoHa8XV65hHDgybWt9PjfnH7iy/bQyzVzd/hj7QXWF7UGMDaO4QOGK1COPZmz9o92OWtO9xlM5+eVEm7QymVJvgGBoZljvzgKPgkrxdNwQ9fwGUGfHFtDzKC5cgt08VpihZs7INSEJu7+7M/QHcBawByh00RFTeduzp0sZeqAa9ngKr2EjrK8c8mLsBBk+yEKP3bILshHzYtrqg+UgNngEsriXKcmgb27yXsodEz4LV+GEDatMLumS4IjMKUGX7blnPRDkjqPz2P01l5Sinq1cdL1gw8SXybTctdBo5MjmnT/NHUfvBFYPWxlK81QIoBbVz8Tpsah4nWJt2i/wKkGd3fb0bWe4iRYEC29FxppeyDC1PapD7JtVR/+h2uAG0alTE880FjugimaaPzn3eOWk6pFof9vV0WRp/QULc2IGN/+UIGcd1oIBJxlfUlLByD4qWpP/cMihXAbzm9KOBHYGTExpSJG1sT8i+GZXe3NTRl7Y0FycsMuXaiB/Rq2aASrIF7oK/QlDhAEPnVs3jn6gdoeHgz2cncAnfhQsg/SCwL8qGRjun4xBMzoitKysATg7YMP7MMen8XhvDeeOqIRKxmMzDYki5ncjZPoDN6KamHYb0f2YV2UK+Nn9F77+D1MBFXOGj+6FnaysSf7PIFIzfafpTLSR6hORXlHF59jA5VtgI/m1RInJLbHF6mCAMaXiXtAp6XsFSPSCcITXcyCQ5Gjy4A/UgQoihMsFQrwM7i6KxPz54gD3zs27Yyk4CN14EAg06cj+FwA4Fn3nIvgTaGtu1Z8/N1dJ1w+R9Nz3rbsoQVwYnonNMfVYSme3jUroAZqTHqujQc+WgGfi/QHGipJdfJkQFe+fTBJIH8tIdIFMU8jU2oq8H5 yNYc6qu9 9L/L8SH5AK0edRsnllCkCW8ZVspWoAMCUUck3C9awLQg7k7nY/FwhXDdigeoVtQmR1B23m0I5XcHo9tv+Tm7PaE8wcq5MOKP9mTCE/ngJmu2DNK7bVAXuXGRVJkjxSWchcN2EEKoUBP9dlCyOLSWA7AlLKajHNNrOfu6MpHW/xArbZzueeWXdrnfqDtWpXBCYj7EcYI+49WXNScBxj/sVR/jmOaB8MKZ7ZmRL5O0BSRk0Tk8wGTSnxCtIwifo1tJe5o7DkAcC4L1jgslU2Etca7EF11Io7sm6QW7VYzI00urXt1Sa+OPA7e9BIyswzip191vsrHYQ1Qy14wNn6xSzxgNyMQ4LZy0Brzhb 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 Tue, Nov 19, 2024 at 01:24:01PM +0200, Abdiel Janulgue wrote: > This series aims to add support for pages that are not constructed by an > instance of the rust Page abstraction, for example those returned by > vmalloc_to_page() or virt_to_page(). > > Changes sinve v3: > - Use the struct page's reference count to decide when to free the > allocation (Alice Ryhl, Boqun Feng). Bleh, this is going to be "exciting". We're in the middle of a multi-year project to remove refcounts from struct page. The lifetime of a page will be controlled by the memdesc that it belongs to. Some of those memdescs will have refcounts, but others will not. We don't have a fully formed destination yet, so I can't give you a definite answer to a lot of questions. Obviously I don't want to hold up the Rust project in any way, but I need to know that what we're trying to do will be expressible in Rust. Can we avoid referring to a page's refcount?