Merge tag 'fixes-for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mzx/extcon...
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / linux / mmzone.h
index 2daa54f55db7bc1a59d894937685fead6fa01bc2..50aaca81f63d6db3914b7858f0209fed036a5971 100644 (file)
@@ -142,6 +142,7 @@ enum zone_stat_item {
        NUMA_OTHER,             /* allocation from other node */
 #endif
        NR_ANON_TRANSPARENT_HUGEPAGES,
+       NR_FREE_CMA_PAGES,
        NR_VM_ZONE_STAT_ITEMS };
 
 /*
@@ -217,6 +218,8 @@ struct lruvec {
 #define ISOLATE_UNMAPPED       ((__force isolate_mode_t)0x2)
 /* Isolate for asynchronous migration */
 #define ISOLATE_ASYNC_MIGRATE  ((__force isolate_mode_t)0x4)
+/* Isolate unevictable pages */
+#define ISOLATE_UNEVICTABLE    ((__force isolate_mode_t)0x8)
 
 /* LRU Isolation modes. */
 typedef unsigned __bitwise__ isolate_mode_t;
@@ -369,8 +372,12 @@ struct zone {
        spinlock_t              lock;
        int                     all_unreclaimable; /* All pages pinned */
 #if defined CONFIG_COMPACTION || defined CONFIG_CMA
-       /* pfn where the last incremental compaction isolated free pages */
+       /* Set to true when the PG_migrate_skip bits should be cleared */
+       bool                    compact_blockskip_flush;
+
+       /* pfns where compaction scanners should start */
        unsigned long           compact_cached_free_pfn;
+       unsigned long           compact_cached_migrate_pfn;
 #endif
 #ifdef CONFIG_MEMORY_HOTPLUG
        /* see spanned/present_pages for more description */
@@ -704,6 +711,7 @@ typedef struct pglist_data {
        unsigned long node_spanned_pages; /* total size of physical page
                                             range, including holes */
        int node_id;
+       nodemask_t reclaim_nodes;       /* Nodes allowed to reclaim from */
        wait_queue_head_t kswapd_wait;
        wait_queue_head_t pfmemalloc_wait;
        struct task_struct *kswapd;     /* Protected by lock_memory_hotplug() */