Re: [PATCH v3 0/2] rust: page: Add support for existing struct page mappings

From: Matthew Wilcox
Date: Tue Nov 19 2024 - 23:57:17 EST


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?