X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=mm%2Finternal.h;h=3314f79d775a5f90c84e3250d8b93b7bd6f99933;hb=ee6f509c3274014d1f52e7a7a10aee9f85393c5e;hp=2ba87fbfb75b9755e279d39af93359693afe66fd;hpb=5e67cc4041304a0dc77e6cfbb355d69eefb883d0;p=firefly-linux-kernel-4.4.55.git diff --git a/mm/internal.h b/mm/internal.h index 2ba87fbfb75b..3314f79d775a 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -118,8 +118,14 @@ struct compact_control { unsigned long nr_freepages; /* Number of isolated free pages */ unsigned long nr_migratepages; /* Number of pages to migrate */ unsigned long free_pfn; /* isolate_freepages search base */ + unsigned long start_free_pfn; /* where we started the search */ unsigned long migrate_pfn; /* isolate_migratepages search base */ bool sync; /* Synchronous migration */ + bool wrapped; /* Order > 0 compactions are + incremental, once free_pfn + and migrate_pfn meet, we restart + from the top of the zone; + remember we wrapped around. */ int order; /* order a direct compactor needs */ int migratetype; /* MOVABLE, RECLAIMABLE etc */ @@ -347,3 +353,5 @@ extern u32 hwpoison_filter_enable; extern unsigned long vm_mmap_pgoff(struct file *, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long); + +extern void set_pageblock_order(void);