]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - mm/internal.h
Merge branch 'linux-4.12' of git://github.com/skeggsb/linux into drm-next
[mirror_ubuntu-artful-kernel.git] / mm / internal.h
index 04d08ef91224bfb8be0a6a2aed456281f7702c44..0e4f558412fb195c0b2bd997fbc0ac1b9c1e4566 100644 (file)
@@ -183,6 +183,7 @@ extern int user_min_free_kbytes;
 struct compact_control {
        struct list_head freepages;     /* List of free pages to migrate to */
        struct list_head migratepages;  /* List of pages being migrated */
+       struct zone *zone;
        unsigned long nr_freepages;     /* Number of isolated free pages */
        unsigned long nr_migratepages;  /* Number of pages to migrate */
        unsigned long total_migrate_scanned;
@@ -190,17 +191,18 @@ struct compact_control {
        unsigned long free_pfn;         /* isolate_freepages search base */
        unsigned long migrate_pfn;      /* isolate_migratepages search base */
        unsigned long last_migrated_pfn;/* Not yet flushed page being freed */
+       const gfp_t gfp_mask;           /* gfp mask of a direct compactor */
+       int order;                      /* order a direct compactor needs */
+       int migratetype;                /* migratetype of direct compactor */
+       const unsigned int alloc_flags; /* alloc flags of a direct compactor */
+       const int classzone_idx;        /* zone index of a direct compactor */
        enum migrate_mode mode;         /* Async or sync migration mode */
        bool ignore_skip_hint;          /* Scan blocks even if marked skip */
        bool ignore_block_suitable;     /* Scan blocks considered unsuitable */
        bool direct_compaction;         /* False from kcompactd or /proc/... */
        bool whole_zone;                /* Whole zone should/has been scanned */
-       int order;                      /* order a direct compactor needs */
-       const gfp_t gfp_mask;           /* gfp mask of a direct compactor */
-       const unsigned int alloc_flags; /* alloc flags of a direct compactor */
-       const int classzone_idx;        /* zone index of a direct compactor */
-       struct zone *zone;
        bool contended;                 /* Signal lock or sched contention */
+       bool finishing_block;           /* Finishing current pageblock */
 };
 
 unsigned long