From: Boqun Feng <boqun.feng@gmail.com>
To: Alice Ryhl <aliceryhl@google.com>
Cc: "Matthew Wilcox" <willy@infradead.org>,
"Abdiel Janulgue" <abdiel.janulgue@gmail.com>,
rust-for-linux@vger.kernel.org, "Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <benno.lossin@proton.me>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Trevor Gross" <tmgross@umich.edu>,
"Danilo Krummrich" <dakr@kernel.org>,
"Wedson Almeida Filho" <wedsonaf@gmail.com>,
"Valentin Obst" <kernel@valentinobst.de>,
"open list" <linux-kernel@vger.kernel.org>,
"Andrew Morton" <akpm@linux-foundation.org>,
"open list:MEMORY MANAGEMENT" <linux-mm@kvack.org>,
airlied@redhat.com
Subject: Re: [PATCH v3 0/2] rust: page: Add support for existing struct page mappings
Date: Wed, 20 Nov 2024 08:20:16 -0800 [thread overview]
Message-ID: <Zz4MQO79vVFhgfJZ@tardis.local> (raw)
In-Reply-To: <CAH5fLgiyHGQJxLxigvZDHPJ84s1fw_OXtdhGTd0pv_X3bCZUgA@mail.gmail.com>
On Wed, Nov 20, 2024 at 10:10:44AM +0100, Alice Ryhl wrote:
> On Wed, Nov 20, 2024 at 5:57 AM Matthew Wilcox <willy@infradead.org> wrote:
> >
> > 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.
> >
One question: will the page that doesn't have refcounts has an exclusive
owner? I.e. there is one owner that's responsible to free the page and
make sure other references to the page get properly invalidated (maybe
via RCU?)
> > 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?
>
> I don't think this patch needs the refcount at all, and the previous
> version did not expose it. This came out of the advice to use put_page
> over free_page. Does this mean that we should switch to put_page but
> not use get_page?
>
I think the point is finding the exact lifetime model for pages, if it's
not a simple refcounting, then what it is? Besides, we can still
represent refcounting pages with `struct Page` and other pages with a
different type name. So as far as I can see, this patch is OK for now.
Regards,
Boqun
> Alice
next prev parent reply other threads:[~2024-11-20 16:20 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-19 11:24 [PATCH v3 0/2] rust: page: Add support for existing struct page mappings Abdiel Janulgue
2024-11-19 11:24 ` [PATCH v3 1/2] rust: page: use the page's reference count to decide when to free the allocation Abdiel Janulgue
2024-11-19 11:45 ` Alice Ryhl
2024-11-19 12:06 ` Abdiel Janulgue
2024-11-19 12:11 ` Alice Ryhl
2024-11-19 11:24 ` [PATCH v3 2/2] rust: page: Extend support to existing struct page mappings Abdiel Janulgue
2024-11-19 17:07 ` Jann Horn
2024-11-20 22:56 ` Abdiel Janulgue
2024-11-21 20:17 ` Jann Horn
2024-11-22 7:55 ` Alice Ryhl
2024-11-22 8:36 ` Abdiel Janulgue
2024-11-22 8:50 ` Alice Ryhl
2024-11-22 8:09 ` Abdiel Janulgue
2024-11-20 4:57 ` [PATCH v3 0/2] rust: page: Add support for " Matthew Wilcox
2024-11-20 9:10 ` Alice Ryhl
2024-11-20 16:20 ` Boqun Feng [this message]
2024-11-20 17:02 ` Matthew Wilcox
2024-11-20 17:25 ` Boqun Feng
2024-11-20 22:56 ` Abdiel Janulgue
2024-11-21 0:24 ` Boqun Feng
2024-11-21 9:19 ` Alice Ryhl
2024-11-21 9:30 ` Abdiel Janulgue
2024-11-21 19:10 ` Boqun Feng
2024-11-21 19:12 ` Boqun Feng
2024-11-21 22:01 ` Matthew Wilcox
2024-11-21 23:18 ` Abdiel Janulgue
2024-11-22 1:24 ` Matthew Wilcox
2024-11-22 6:58 ` David Airlie
2024-11-22 12:37 ` Paolo Bonzini
2024-11-26 20:31 ` Jann Horn
2024-11-26 20:43 ` Jann Horn
2024-12-02 12:03 ` Asahi Lina
2024-12-03 9:08 ` Alice Ryhl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Zz4MQO79vVFhgfJZ@tardis.local \
--to=boqun.feng@gmail.com \
--cc=a.hindborg@kernel.org \
--cc=abdiel.janulgue@gmail.com \
--cc=airlied@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=dakr@kernel.org \
--cc=gary@garyguo.net \
--cc=kernel@valentinobst.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=tmgross@umich.edu \
--cc=wedsonaf@gmail.com \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox