On Thu, Mar 31, 2016 at 10:50:36AM +0200, Vlastimil Babka wrote:
The goal of direct compaction is to quickly make a high-order page available
for the pending allocation. The free page scanner can add significant latency
when searching for migration targets, although to succeed the compaction, the
only important limit on the target free pages is that they must not come from
the same order-aligned block as the migrated pages.
What prevents the free pages being allocated from behind the migration
scanner? Having compaction abort when the scanners meet misses
compaction opportunities but it avoids the problem of Compactor A using
pageblock X as a migration target and Compactor B using pageblock X as a
migration source.