On Wed 03-10-18 18:36:39, Anshuman Khandual wrote: [...] > So we have two checks here > > 1) platform specific arch_hugetlb_migration -> In principle go ahead > > 2) huge_movable() during allocation > > - If huge page does not have to be placed on movable zone > > - Allocate any where successfully and done ! > > - If huge page *should* be placed on a movable zone > > - Try allocating on movable zone > > - Successfull and done ! > > - If the new page could not be allocated on movable zone > > - Abort the migration completely > > OR > > - Warn and fall back to non-movable I guess you are still making it more complicated than necessary. The later is really only about __GFP_MOVABLE at this stage. I would just make it simple for now. We do not have to implement any dynamic heuristic right now. All that I am asking for is to split the migrate possible part from movable part. I should have been more clear about that I guess from my very first reply. I do like how you moved the current coarse grained hugepage_migration_supported to be more arch specific but I merely wanted to point out that we need to do some other changes before we can go that route and that thing is to distinguish movable from migration supported. See my point? -- Michal Hocko SUSE Labs