]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - include/linux/memory_hotplug.h
UBUNTU: Ubuntu-4.13.0-45.50
[mirror_ubuntu-artful-kernel.git] / include / linux / memory_hotplug.h
index c8a5056a5ae0ec05bf327e54a81ed659ba71143a..b18a1b8b619bd41a5418e5e61e58c52fff6149f2 100644 (file)
@@ -129,8 +129,8 @@ extern int __remove_pages(struct zone *zone, unsigned long start_pfn,
        unsigned long nr_pages);
 #endif /* CONFIG_MEMORY_HOTREMOVE */
 
-/* reasonably generic interface to expand the physical pages */
-extern int __add_pages(int nid, unsigned long start_pfn,
+/* reasonably generic interface to expand the physical pages in a zone  */
+extern int __add_pages(int nid, struct zone *zone, unsigned long start_pfn,
        unsigned long nr_pages, bool want_memblock);
 
 #ifdef CONFIG_NUMA
@@ -306,19 +306,18 @@ extern int walk_memory_range(unsigned long start_pfn, unsigned long end_pfn,
                void *arg, int (*func)(struct memory_block *, void *));
 extern int add_memory(int nid, u64 start, u64 size);
 extern int add_memory_resource(int nid, struct resource *resource, bool online);
-extern int arch_add_memory(int nid, u64 start, u64 size, bool want_memblock);
-extern void move_pfn_range_to_zone(struct zone *zone, unsigned long start_pfn,
-               unsigned long nr_pages);
+extern int zone_for_memory(int nid, u64 start, u64 size, int zone_default,
+               bool for_device);
+extern int arch_add_memory(int nid, u64 start, u64 size, bool for_device);
 extern int offline_pages(unsigned long start_pfn, unsigned long nr_pages);
 extern bool is_memblock_offlined(struct memory_block *mem);
 extern void remove_memory(int nid, u64 start, u64 size);
-extern int sparse_add_one_section(struct pglist_data *pgdat, unsigned long start_pfn);
+extern int sparse_add_one_section(struct zone *zone, unsigned long start_pfn);
 extern void sparse_remove_one_section(struct zone *zone, struct mem_section *ms,
                unsigned long map_offset);
 extern struct page *sparse_decode_mem_map(unsigned long coded_mem_map,
                                          unsigned long pnum);
-extern bool allow_online_pfn_range(int nid, unsigned long pfn, unsigned long nr_pages,
-               int online_type);
-extern struct zone *default_zone_for_pfn(int nid, unsigned long pfn,
-               unsigned long nr_pages);
+extern bool zone_can_shift(unsigned long pfn, unsigned long nr_pages,
+                         enum zone_type target, int *zone_shift);
+
 #endif /* __LINUX_MEMORY_HOTPLUG_H */