Re: [PATCH v1 1/2] mm: clarify semantics of reserved pages

From: Michal Hocko
Date: Mon Jul 23 2018 - 06:48:53 EST


On Fri 20-07-18 14:34:21, David Hildenbrand wrote:
> The reserved bit once was used to hinder pages from getting swapped. While
> this still works,

Does it? There is no single PageReserved check in the reclaim path. I
have no idea when we stopped checking but it must be loooong ago.

> the semantics are a little bit stronger nowadays: The
> page should never be touched by anybody in the system except by the owner.
> The original comment already gave a hint about that.
>
> So especially, these pages should also not be dumped by dumping tools.
> Let's make that more clear by updating the comment.
>
> This will be useful especially in the future in virtual environments where
> pages marked with the reserved bit might no longer be accessible.
>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Michal Hocko <mhocko@xxxxxxxx>
> Cc: Vlastimil Babka <vbabka@xxxxxxx>
> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
> Cc: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: David Hildenbrand <david@xxxxxxxxxx>
> Cc: Huang Ying <ying.huang@xxxxxxxxx>
> Cc: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx>
> Cc: Miles Chen <miles.chen@xxxxxxxxxxxx>
> Cc: Dave Young <dyoung@xxxxxxxxxx>
> Cc: Baoquan He <bhe@xxxxxxxxxx>
> Cc: "Marc-André Lureau" <marcandre.lureau@xxxxxxxxxx>
> Cc: Petr Tesarik <ptesarik@xxxxxxx>
> Signed-off-by: David Hildenbrand <david@xxxxxxxxxx>

Anyway
Acked-by: Michal Hocko <mhocko@xxxxxxxx>

for this change
> ---
> include/linux/page-flags.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
> index 901943e4754b..ba81e11a868c 100644
> --- a/include/linux/page-flags.h
> +++ b/include/linux/page-flags.h
> @@ -17,8 +17,8 @@
> /*
> * Various page->flags bits:
> *
> - * PG_reserved is set for special pages, which can never be swapped out. Some
> - * of them might not even exist...
> + * PG_reserved is set for special pages, which should never be touched (read/
> + * write) by anybody except their owner. Some of them might not even exist.
> *
> * The PG_private bitflag is set on pagecache pages if they contain filesystem
> * specific data (which is normally at page->private). It can be used by
> --
> 2.17.1
>

--
Michal Hocko
SUSE Labs