]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mm/page_alloc: put __free_pages_core() in __meminit section
authorWei Yang <richard.weiyang@gmail.com>
Sat, 6 Jul 2024 06:16:15 +0000 (06:16 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 12 Jul 2024 22:52:21 +0000 (15:52 -0700)
__free_pages_core() is only used in bootmem init and hot-add memory init
path.  Let's put it in __meminit section.

Link: https://lkml.kernel.org/r/20240706061615.30322-1-richard.weiyang@gmail.com
Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Oscar Salvador <osalvador@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/memory_hotplug.c
mm/page_alloc.c

index fae1da27f0d7491b1d8018987642e6d1b45316ae..66267c26ca1bbff3bf3821a90a371161901f3ae1 100644 (file)
@@ -628,7 +628,8 @@ int restore_online_page_callback(online_page_callback_t callback)
 }
 EXPORT_SYMBOL_GPL(restore_online_page_callback);
 
-void generic_online_page(struct page *page, unsigned int order)
+/* we are OK calling __meminit stuff here - we have CONFIG_MEMORY_HOTPLUG */
+void __ref generic_online_page(struct page *page, unsigned int order)
 {
        __free_pages_core(page, order, MEMINIT_HOTPLUG);
 }
index 480e4416131f967c6529be47682527011c9a460b..c46aedfc9a12f3cf0cb2f6984d72047fadb6ca3e 100644 (file)
@@ -1219,7 +1219,7 @@ static void __free_pages_ok(struct page *page, unsigned int order,
        __count_vm_events(PGFREE, 1 << order);
 }
 
-void __free_pages_core(struct page *page, unsigned int order,
+void __meminit __free_pages_core(struct page *page, unsigned int order,
                enum meminit_context context)
 {
        unsigned int nr_pages = 1 << order;