On Mon, May 17, 2021 at 8:27 AM Mel Gorman <mgorman@xxxxxxx> wrote: > > On Tue, Apr 13, 2021 at 02:24:12PM -0700, Yang Shi wrote: > > When the THP NUMA fault support was added THP migration was not supported yet. > > So the ad hoc THP migration was implemented in NUMA fault handling. Since v4.14 > > THP migration has been supported so it doesn't make too much sense to still keep > > another THP migration implementation rather than using the generic migration > > code. > > > > This patch reworked the NUMA fault handling to use generic migration implementation > > to migrate misplaced page. There is no functional change. > > > > After the refactor the flow of NUMA fault handling looks just like its > > PTE counterpart: > > Acquire ptl > > Prepare for migration (elevate page refcount) > > Release ptl > > Isolate page from lru and elevate page refcount > > Migrate the misplaced THP > > > > If migration is failed just restore the old normal PMD. > > > > In the old code anon_vma lock was needed to serialize THP migration > > against THP split, but since then the THP code has been reworked a lot, > > it seems anon_vma lock is not required anymore to avoid the race. > > > > The page refcount elevation when holding ptl should prevent from THP > > split. > > > > Use migrate_misplaced_page() for both base page and THP NUMA hinting > > fault and remove all the dead and duplicate code. > > > > Signed-off-by: Yang Shi <shy828301@xxxxxxxxx> > > I did not spot any big problems and FWIW, the series overall passed a > series of tests that exercise NUMA balancing migrations so... > > Acked-by: Mel Gorman <mgorman@xxxxxxx> Thanks a lot for testing and reviewing the series. > > -- > Mel Gorman > SUSE Labs