On Mon, Oct 14, 2019 at 02:17:30PM +0200, Michal Hocko wrote: > On Fri 11-10-19 13:29:32, Andrew Morton wrote: > > alloc_gigantic_page() implements an allocation method where it scans over > > various zones looking for a large contiguous memory block which could not > > have been allocated through the buddy allocator. A subsequent patch which > > tests arch page table helpers needs such a method to allocate PUD_SIZE > > sized memory block. In the future such methods might have other use cases > > as well. So alloc_gigantic_page() has been split carving out actual > > memory allocation method and made available via new > > alloc_gigantic_page_order(). > > You are exporting a helper used for hugetlb internally. Is this really > what is needed? I haven't followed this patchset but don't you simply > need a generic 1GB allocator? If yes then you should be looking at > alloc_contig_range. He actually doesn't need to allocate any memory at all. All he needs is the address of a valid contiguous PUD-sized chunk of memory.