Re: [PATCH RFC 2/8] mm: introduce PG_offline

From: Matthew Wilcox
Date: Fri Apr 13 2018 - 13:12:31 EST


On Fri, Apr 13, 2018 at 03:16:26PM +0200, David Hildenbrand wrote:
> online_pages()/offline_pages() theoretically allows us to work on
> sub-section sizes. This is especially relevant in the context of
> virtualization. It e.g. allows us to add/remove memory to Linux in a VM in
> 4MB chunks.
>
> While the whole section is marked as online/offline, we have to know
> the state of each page. E.g. to not read memory that is not online
> during kexec() or to properly mark a section as offline as soon as all
> contained pages are offline.

Can you not use PG_reserved for this purpose?

> + * PG_offline indicates that a page is offline and the backing storage
> + * might already have been removed (virtualization). Don't touch!

* PG_reserved is set for special pages, which can never be swapped out. Some
* of them might not even exist...

They seem pretty congruent to me.