On Tue, Dec 18, 2018 at 01:36:42PM +0100, Vlastimil Babka wrote: > On 12/15/18 12:03 AM, Mel Gorman wrote: > > When pageblocks get fragmented, watermarks are artifically boosted to pages > > are reclaimed to avoid further fragmentation events. However, compaction > > is often either fragmentation-neutral or moving movable pages away from > > unmovable/reclaimable pages. As the actual watermarks are preserved, > > allow compaction to ignore the boost factor. > > Right, I should have realized that when reviewing the boost patch. I > think it would be useful to do the same change in > __compaction_suitable() as well. Compaction has its own "gap". > That gap is somewhat static though so I'm a bit more wary of it. However, the check in __isolate_free_page looks too agressive. We isolate in units of COMPACT_CLUSTER_MAX yet the watermark check there is based on the allocation request. That means for THP that we check if 512 pages can be allocated when only somewhere between 1 and 32 is needed for that compaction cycle to complete. Adjusting that might be more appropriate? -- Mel Gorman SUSE Labs