Re: [External] Re: [PATCH v18 1/9] mm: memory_hotplug: factor out bootmem core functions to bootmem_info.c
From: Muchun Song <hidden>
Date: 2021-03-11 02:59:58
Also in:
linux-fsdevel, linux-mm, lkml
On Wed, Mar 10, 2021 at 10:14 PM Michal Hocko [off-list ref] wrote:
[I am sorry for a late review]
Thanks for your review.
On Mon 08-03-21 18:27:59, Muchun Song wrote:quoted
Move bootmem info registration common API to individual bootmem_info.c. And we will use {get,put}_page_bootmem() to initialize the page for the vmemmap pages or free the vmemmap pages to buddy in the later patch. So move them out of CONFIG_MEMORY_HOTPLUG_SPARSE. This is just code movement without any functional change. Signed-off-by: Muchun Song <redacted> Acked-by: Mike Kravetz <redacted> Reviewed-by: Oscar Salvador <osalvador@suse.de> Reviewed-by: David Hildenbrand <redacted> Reviewed-by: Miaohe Lin <linmiaohe@huawei.com> Tested-by: Chen Huang <redacted> Tested-by: Bodeddula Balasubramaniam <redacted>Separation from memory_hotplug.c is definitely a right step. I am wondering about the config dependency though [...]quoted
diff --git a/mm/Makefile b/mm/Makefile index 72227b24a616..daabf86d7da8 100644 --- a/mm/Makefile +++ b/mm/Makefile@@ -83,6 +83,7 @@ obj-$(CONFIG_SLUB) += slub.o obj-$(CONFIG_KASAN) += kasan/ obj-$(CONFIG_KFENCE) += kfence/ obj-$(CONFIG_FAILSLAB) += failslab.o +obj-$(CONFIG_HAVE_BOOTMEM_INFO_NODE) += bootmem_info.oI would have expected this would depend on CONFIG_SPARSE. BOOTMEM_INFO_NODE is really an odd thing to depend on here. There is some functionality which requires the node info but that can be gated specifically. Or what is the thinking behind?
At first my idea was to free vmemmap pages through the bootmem interface. My first instinct is to rely on BOOTMEM_INFO_NODE. It makes sense to me to depend on CONFIG_SPARSE. I will update this in the next version. Thanks.
This doesn't matter right now because it seems that the *_page_bootmem is only used by x86 outside of the memory hotplug. Other than that looks good to me. -- Michal Hocko SUSE Labs