On Fri 13-05-16 10:10:50, Vlastimil Babka wrote: > On 05/12/2016 03:29 PM, Michal Hocko wrote: > > On Tue 10-05-16 09:35:54, Vlastimil Babka wrote: > > > This patch attempts to restructure the code with only minimal functional > > > changes. The call to the first compaction and THP-specific checks are now > > > placed above the retry loop, and the "noretry" direct compaction is > > > removed. > > > > > > The initial compaction is additionally restricted only to costly orders, > > > as we > > > can expect smaller orders to be held back by watermarks, and only larger > > > orders > > > to suffer primarily from fragmentation. This better matches the checks in > > > reclaim's shrink_zones(). > > > > > > There are two other smaller functional changes. One is that the upgrade > > > from > > > async migration to light sync migration will always occur after the > > > initial > > > compaction. > > > > I do not think this belongs to the patch. There are two reasons. First > > we do not need to do potentially more expensive sync mode when async is > > able to make some progress and the second > > My concern was that __GFP_NORETRY non-costly allocations wouldn't otherwise > get a MIGRATE_SYNC_LIGHT pass at all. Previously they would get it in the > noretry: label.
OK, I haven't considered this. So scratch this then. -- Michal Hocko SUSE Labs