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

David Hildenbrand david at redhat.com
Tue Oct 15 22:50:02 AEDT 2019


On 15.10.19 13:47, Michal Hocko wrote:
> On Tue 15-10-19 13:42:03, David Hildenbrand wrote:
> [...]
>>> -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?)

-- 

Thanks,

David / dhildenb


More information about the Linuxppc-dev mailing list