Re: [PATCHv2 1/7] mm: Add support for unaccepted memory

From: David Hildenbrand
Date: Wed Jan 12 2022 - 06:31:23 EST



>
> Looking at stuff like this, I can't help but think that a:
>
> #define PageOffline PageUnaccepted
>
> and some other renaming would be a fine idea. I get that the Offline
> bit can be reused, but I'm not sure that the "Offline" *naming* should
> be reused. What you're doing here is logically distinct from existing
> offlining.

Yes, or using a new pagetype bit to make the distinction clearer.
Especially the function names like maybe_set_page_offline() et. Al are
confusing IMHO. They are all about accepting unaccepted memory ... and
should express that.

I assume PageOffline() will be set only on the first sub-page of a
high-order PageBuddy() page, correct?

Then we'll have to monitor all PageOffline() users such that they can
actually deal with PageBuddy() pages spanning *multiple* base pages for
a PageBuddy() page. For now it's clear that if a page is PageOffline(),
it cannot be PageBuddy() and cannot span more than one base page.

E.g., fs/proc/kcore.c:read_kcore() assumes that PageOffline() is set on
individual base pages.

--
Thanks,

David / dhildenb