On 18-11-20 14:43:21, Michal Hocko wrote: > From: Michal Hocko <mhocko@xxxxxxxx> > > do_migrate_range has been limiting the number of pages to migrate to 256 > for some reason which is not documented. Even if the limit made some > sense back then when it was introduced it doesn't really serve a good > purpose these days. If the range contains huge pages then > we break out of the loop too early and go through LRU and pcp > caches draining and scan_movable_pages is quite suboptimal. > > The only reason to limit the number of pages I can think of is to reduce > the potential time to react on the fatal signal. But even then the > number of pages is a questionable metric because even a single page > might migration block in a non-killable state (e.g. __unmap_and_move). > > Remove the limit and offline the full requested range (this is one > membblock worth of pages with the current code). Should we ever get a > report that offlining takes too long to react on fatal signal then we > should rather fix the core migration to use killable waits and bailout > on a signal. > > Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Looks good to me, I also do not see a reason for 256 pages limit. Reviewed-by: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> Added Kame to CC, who introduced page offlining, and this limit, but as far as I can tell the last time he was active on LKML was in 2016. Pasha