On Thu, 12 Oct 2017, Anshuman Khandual wrote: > > +static long __alloc_vma_contig_range(struct vm_area_struct *vma) > > +{ > > + gfp_t gfp = GFP_HIGHUSER | __GFP_ZERO; > > Would it be GFP_HIGHUSER_MOVABLE instead ? Why __GFP_ZERO ? If its > coming from Buddy, every thing should have already been zeroed out > in there. Am I missing something ?
Contiguous pages cannot and should not be moved. They will no longer be contiguous then. Also the page migration code cannot handle this case.