--- a/mm/internal.h~mmcompactioncma-add-alloc_contig-flag-to-compact_control +++ a/mm/internal.h @@ -229,6 +229,7 @@ struct compact_control { bool whole_zone; /* Whole zone should/has been scanned */ bool contended; /* Signal lock or sched contention */ bool rescan; /* Rescanning the same pageblock */ + bool alloc_contig; /* alloc_contig_range allocation */ }; /* --- a/mm/page_alloc.c~mmcompactioncma-add-alloc_contig-flag-to-compact_control +++ a/mm/page_alloc.c @@ -8400,6 +8400,7 @@ int alloc_contig_range(unsigned long sta .ignore_skip_hint = true, .no_set_skip_hint = true, .gfp_mask = current_gfp_context(gfp_mask), + .alloc_contig = true, }; INIT_LIST_HEAD(&cc.migratepages);