diff options
Diffstat (limited to 'mm/internal.h')
| -rw-r--r-- | mm/internal.h | 15 | 
1 files changed, 9 insertions, 6 deletions
diff --git a/mm/internal.h b/mm/internal.h index b79abb6721cf..2524ec880e24 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -24,7 +24,8 @@   */  #define GFP_RECLAIM_MASK (__GFP_RECLAIM|__GFP_HIGH|__GFP_IO|__GFP_FS|\  			__GFP_NOWARN|__GFP_REPEAT|__GFP_NOFAIL|\ -			__GFP_NORETRY|__GFP_MEMALLOC|__GFP_NOMEMALLOC) +			__GFP_NORETRY|__GFP_MEMALLOC|__GFP_NOMEMALLOC|\ +			__GFP_ATOMIC)  /* The GFP flags allowed during early boot */  #define GFP_BOOT_MASK (__GFP_BITS_MASK & ~(__GFP_RECLAIM|__GFP_IO|__GFP_FS)) @@ -58,7 +59,7 @@ static inline unsigned long ra_submit(struct file_ra_state *ra,  }  /* - * Turn a non-refcounted page (->_count == 0) into refcounted with + * Turn a non-refcounted page (->_refcount == 0) into refcounted with   * a count of one.   */  static inline void set_page_refcounted(struct page *page) @@ -102,13 +103,14 @@ extern pmd_t *mm_find_pmd(struct mm_struct *mm, unsigned long address);  struct alloc_context {  	struct zonelist *zonelist;  	nodemask_t *nodemask; -	struct zone *preferred_zone; -	int classzone_idx; +	struct zoneref *preferred_zoneref;  	int migratetype;  	enum zone_type high_zoneidx;  	bool spread_dirty_pages;  }; +#define ac_classzone_idx(ac) zonelist_zone_idx(ac->preferred_zoneref) +  /*   * Locate the struct page for both the matching buddy in our   * pair (buddy1) and the combined O(n+1) page they form (page). @@ -173,9 +175,10 @@ struct compact_control {  	enum migrate_mode mode;		/* Async or sync migration mode */  	bool ignore_skip_hint;		/* Scan blocks even if marked skip */  	bool direct_compaction;		/* False from kcompactd or /proc/... */ +	bool whole_zone;		/* Whole zone has been scanned */  	int order;			/* order a direct compactor needs */  	const gfp_t gfp_mask;		/* gfp mask of a direct compactor */ -	const int alloc_flags;		/* alloc flags 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;  	int contended;			/* Signal need_sched() or lock @@ -440,7 +443,7 @@ extern u64 hwpoison_filter_flags_value;  extern u64 hwpoison_filter_memcg;  extern u32 hwpoison_filter_enable; -extern unsigned long vm_mmap_pgoff(struct file *, unsigned long, +extern unsigned long  __must_check vm_mmap_pgoff(struct file *, unsigned long,          unsigned long, unsigned long,          unsigned long, unsigned long);  |