On Tue, Apr 06, 2021 at 09:42:07AM -0700, Yang Shi wrote: > On Tue, Apr 6, 2021 at 5:03 AM Gerald Schaefer > <gerald.schaefer@xxxxxxxxxxxxx> wrote: > > > > On Thu, 1 Apr 2021 13:10:49 -0700 > > Yang Shi <shy828301@xxxxxxxxx> wrote: > > > > [...] > > > > > > > > > > Yes, it could be. The old behavior of migration was to return -ENOMEM > > > > > if THP migration is not supported then split THP. That behavior was > > > > > not very friendly to some usecases, for example, memory policy and > > > > > migration lieu of reclaim (the upcoming). But I don't mean we restore > > > > > the old behavior. We could split THP if it returns -ENOSYS and the > > > > > page is THP. > > > > > > > > OK, as long as we don't get any broken PMD migration entries established > > > > for s390, some extra THP splitting would be acceptable I guess. > > > > > > There will be no migration PMD installed. The current behavior is a > > > no-op if THP migration is not supported. > > > > Ok, just for completeness, since Mel also replied that the split > > was not done on other architectures "because the loss from splitting > > exceeded the gain of improved locality": > > > > I did not mean to request extra splitting functionality for s390, > > simply skipping / ignoring large PMDs would also be fine for s390, > > no need to add extra complexity. > > Thank you. It could make life easier. The current code still converts > huge PMD to RPOTNONE even though THP migration is not supported. It is > easy to skip such PMDs hence cycles are saved for pointless NUMA > hinting page faults. > > Will do so in v2 if no objection from Mel as well. I did not get a chance to review this in time but if a v2 shows up, I'll at least run it through a battery of tests to measure the impact and hopefully find the time to do a proper review. Superficially I'm not opposed to using generic code for migration because even if it shows up a problem, it would be better to optimise the generic implementation than carry two similar implementations. I'm undecided on whether s390 should split+migrate rather than skip because I do not have a good overview of "typical workloads on s390 that benefit from NUMA balancing". -- Mel Gorman SUSE Labs