X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=mm%2Finternal.h;h=3314f79d775a5f90c84e3250d8b93b7bd6f99933;hb=7f338fe4540b1d0600b02314c7d885fd358e9eca;hp=2ba87fbfb75b9755e279d39af93359693afe66fd;hpb=221d3ebf3ad2c69704e21495e9a936c78d797732;p=deliverable%2Flinux.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);