Thread (20 messages) 20 messages, 4 authors, 2019-10-16

Re: [PATCH V6 1/2] mm/page_alloc: Make alloc_gigantic_page() available for general use

From: Michal Hocko <mhocko@kernel.org>
Date: 2019-10-15 12:10:04
Also in: linux-mm, linuxppc-dev

On Tue 15-10-19 13:50:02, David Hildenbrand wrote:
On 15.10.19 13:47, Michal Hocko wrote:
quoted
On Tue 15-10-19 13:42:03, David Hildenbrand wrote:
[...]
quoted
quoted
-static bool pfn_range_valid_gigantic(struct zone *z,
-			unsigned long start_pfn, unsigned long nr_pages)
-{
-	unsigned long i, end_pfn = start_pfn + nr_pages;
-	struct page *page;
-
-	for (i = start_pfn; i < end_pfn; i++) {
-		if (!pfn_valid(i))
-			return false;
-
-		page = pfn_to_page(i);
Am I missing something or should here really be a pfn_to_online_page() here
instead of a pfn_valid() ?
http://lkml.kernel.org/r/20180423000943.GO17484@dhcp22.suse.cz
So we managed to add PageReserved(page) but not pfn_to_online_page(). But it
is the right thing to do? (or am I missing something?)
Yeah, pfn_to_online_page is better. But please note that this is an
optimistic check. The real check has to be done when isolating the
pageblock because things might change in the meantime.
-- 
Michal Hocko
SUSE Labs

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help