aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/inode.c4
-rw-r--r--include/linux/gfp.h6
-rw-r--r--mm/memory_hotplug.c9
3 files changed, 5 insertions, 14 deletions
diff --git a/fs/inode.c b/fs/inode.c
index bd48e5e6d3e8..a903860bc5ac 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -166,7 +166,7 @@ struct inode *inode_init_always(struct super_block *sb, struct inode *inode)
166 mapping->a_ops = &empty_aops; 166 mapping->a_ops = &empty_aops;
167 mapping->host = inode; 167 mapping->host = inode;
168 mapping->flags = 0; 168 mapping->flags = 0;
169 mapping_set_gfp_mask(mapping, GFP_HIGHUSER_PAGECACHE); 169 mapping_set_gfp_mask(mapping, GFP_HIGHUSER_MOVABLE);
170 mapping->assoc_mapping = NULL; 170 mapping->assoc_mapping = NULL;
171 mapping->backing_dev_info = &default_backing_dev_info; 171 mapping->backing_dev_info = &default_backing_dev_info;
172 mapping->writeback_index = 0; 172 mapping->writeback_index = 0;
@@ -601,7 +601,7 @@ EXPORT_SYMBOL_GPL(inode_add_to_lists);
601 * @sb: superblock 601 * @sb: superblock
602 * 602 *
603 * Allocates a new inode for given superblock. The default gfp_mask 603 * Allocates a new inode for given superblock. The default gfp_mask
604 * for allocations related to inode->i_mapping is GFP_HIGHUSER_PAGECACHE. 604 * for allocations related to inode->i_mapping is GFP_HIGHUSER_MOVABLE.
605 * If HIGHMEM pages are unsuitable or it is known that pages allocated 605 * If HIGHMEM pages are unsuitable or it is known that pages allocated
606 * for the page cache are not reclaimable or migratable, 606 * for the page cache are not reclaimable or migratable,
607 * mapping_set_gfp_mask() must be called with suitable flags on the 607 * mapping_set_gfp_mask() must be called with suitable flags on the
diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index e8003afeffba..dd20cd78faa8 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -69,12 +69,6 @@ struct vm_area_struct;
69#define GFP_HIGHUSER_MOVABLE (__GFP_WAIT | __GFP_IO | __GFP_FS | \ 69#define GFP_HIGHUSER_MOVABLE (__GFP_WAIT | __GFP_IO | __GFP_FS | \
70 __GFP_HARDWALL | __GFP_HIGHMEM | \ 70 __GFP_HARDWALL | __GFP_HIGHMEM | \
71 __GFP_MOVABLE) 71 __GFP_MOVABLE)
72#define GFP_NOFS_PAGECACHE (__GFP_WAIT | __GFP_IO | __GFP_MOVABLE)
73#define GFP_USER_PAGECACHE (__GFP_WAIT | __GFP_IO | __GFP_FS | \
74 __GFP_HARDWALL | __GFP_MOVABLE)
75#define GFP_HIGHUSER_PAGECACHE (__GFP_WAIT | __GFP_IO | __GFP_FS | \
76 __GFP_HARDWALL | __GFP_HIGHMEM | \
77 __GFP_MOVABLE)
78 72
79#ifdef CONFIG_NUMA 73#ifdef CONFIG_NUMA
80#define GFP_THISNODE (__GFP_THISNODE | __GFP_NOWARN | __GFP_NORETRY) 74#define GFP_THISNODE (__GFP_THISNODE | __GFP_NOWARN | __GFP_NORETRY)
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
index 2ba38bc07b47..c083cf5fd6df 100644
--- a/mm/memory_hotplug.c
+++ b/mm/memory_hotplug.c
@@ -627,15 +627,12 @@ int scan_lru_pages(unsigned long start, unsigned long end)
627} 627}
628 628
629static struct page * 629static struct page *
630hotremove_migrate_alloc(struct page *page, 630hotremove_migrate_alloc(struct page *page, unsigned long private, int **x)
631 unsigned long private,
632 int **x)
633{ 631{
634 /* This should be improoooooved!! */ 632 /* This should be improooooved!! */
635 return alloc_page(GFP_HIGHUSER_PAGECACHE); 633 return alloc_page(GFP_HIGHUSER_MOVABLE);
636} 634}
637 635
638
639#define NR_OFFLINE_AT_ONCE_PAGES (256) 636#define NR_OFFLINE_AT_ONCE_PAGES (256)
640static int 637static int
641do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) 638do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)