The patch titled Subject: mm/page_alloc: put __free_pages_core() in __meminit section has been added to the -mm mm-unstable branch. Its filename is mm-page_alloc-put-__free_pages_core-in-__meminit-section.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-page_alloc-put-__free_pages_core-in-__meminit-section.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Wei Yang <richard.weiyang@xxxxxxxxx> Subject: mm/page_alloc: put __free_pages_core() in __meminit section Date: Sat, 6 Jul 2024 06:16:15 +0000 Function __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@xxxxxxxxx Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx> Cc: David Hildenbrand <david@xxxxxxxxxx> Cc: Oscar Salvador <osalvador@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/memory_hotplug.c | 3 ++- mm/page_alloc.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) --- a/mm/memory_hotplug.c~mm-page_alloc-put-__free_pages_core-in-__meminit-section +++ a/mm/memory_hotplug.c @@ -628,7 +628,8 @@ int restore_online_page_callback(online_ } 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); } --- a/mm/page_alloc.c~mm-page_alloc-put-__free_pages_core-in-__meminit-section +++ a/mm/page_alloc.c @@ -1219,7 +1219,7 @@ static void __free_pages_ok(struct page __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; _ Patches currently in -mm which might be from richard.weiyang@xxxxxxxxx are kernel-forkc-get-totalram_pages-from-memblock-to-calculate-max_threads.patch kernel-forkc-put-set_max_threads-task_struct_whitelist-in-__init-section.patch mm-page_alloc-remove-prefetchw-on-freeing-page-to-buddy-system.patch mm-page_alloc-put-__free_pages_core-in-__meminit-section.patch