[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181115122302.GR23831@dhcp22.suse.cz>
Date: Thu, 15 Nov 2018 13:23:02 +0100
From: Michal Hocko <mhocko@...nel.org>
To: David Hildenbrand <david@...hat.com>
Cc: linux-mm@...ck.org, linux-kernel@...r.kernel.org,
linux-doc@...r.kernel.org, devel@...uxdriverproject.org,
linux-fsdevel@...r.kernel.org, linux-pm@...r.kernel.org,
xen-devel@...ts.xenproject.org,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Pavel Machek <pavel@....cz>, Len Brown <len.brown@...el.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Matthew Wilcox <willy@...radead.org>,
"Michael S. Tsirkin" <mst@...hat.com>
Subject: Re: [PATCH RFC 6/6] PM / Hibernate: exclude all PageOffline() pages
On Wed 14-11-18 22:17:04, David Hildenbrand wrote:
[...]
> diff --git a/kernel/power/snapshot.c b/kernel/power/snapshot.c
> index b0308a2c6000..01db1d13481a 100644
> --- a/kernel/power/snapshot.c
> +++ b/kernel/power/snapshot.c
> @@ -1222,7 +1222,7 @@ static struct page *saveable_highmem_page(struct zone *zone, unsigned long pfn)
> BUG_ON(!PageHighMem(page));
>
> if (swsusp_page_is_forbidden(page) || swsusp_page_is_free(page) ||
> - PageReserved(page))
> + PageReserved(page) || PageOffline(page))
> return NULL;
>
> if (page_is_guard(page))
> @@ -1286,6 +1286,9 @@ static struct page *saveable_page(struct zone *zone, unsigned long pfn)
> if (swsusp_page_is_forbidden(page) || swsusp_page_is_free(page))
> return NULL;
>
> + if (PageOffline(page))
> + return NULL;
> +
> if (PageReserved(page)
> && (!kernel_page_present(page) || pfn_is_nosave(pfn)))
> return NULL;
Btw. now that you are touching this file could you also make
s@..._to_page@..._to_online_page@ please? We really do not want to touch
offline pfn ranges in general. A separate patch for that of course.
Thanks!
--
Michal Hocko
SUSE Labs
Powered by blists - more mailing lists