Re: [PATCH v2 5/8] mm/memory_hotplug: Drop MHP_MEMBLOCK_API

Dan Williams
2019-05-07T21:25:45Z

On Tue, May 7, 2019 at 2:24 PM David Hildenbrand <david@redhat.com> wrote:
>
> On 07.05.19 23:19, Dan Williams wrote:
> > On Tue, May 7, 2019 at 11:38 AM David Hildenbrand <david@redhat.com> wrote:
> >>
> >> No longer needed, the callers of arch_add_memory() can handle this
> >> manually.
> >>
> >> Cc: Andrew Morton <akpm@linux-foundation.org>
> >> Cc: David Hildenbrand <david@redhat.com>
> >> Cc: Michal Hocko <mhocko@suse.com>
> >> Cc: Oscar Salvador <osalvador@suse.com>
> >> Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
> >> Cc: Wei Yang <richard.weiyang@gmail.com>
> >> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
> >> Cc: Qian Cai <cai@lca.pw>
> >> Cc: Arun KS <arunks@codeaurora.org>
> >> Cc: Mathieu Malaterre <malat@debian.org>
> >> Signed-off-by: David Hildenbrand <david@redhat.com>
> >> ---
> >> include/linux/memory_hotplug.h | 8 --------
> >> mm/memory_hotplug.c | 9 +++------
> >> 2 files changed, 3 insertions(+), 14 deletions(-)
> >>
> >> diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h
> >> index 2d4de313926d..2f1f87e13baa 100644
> >> --- a/include/linux/memory_hotplug.h
> >> +++ b/include/linux/memory_hotplug.h
> >> @@ -128,14 +128,6 @@ extern void arch_remove_memory(int nid, u64 start, u64 size,
> >> extern void __remove_pages(struct zone *zone, unsigned long start_pfn,
> >> unsigned long nr_pages, struct vmem_altmap *altmap);
> >>
> >> -/*
> >> - * Do we want sysfs memblock files created. This will allow userspace to online
> >> - * and offline memory explicitly. Lack of this bit means that the caller has to
> >> - * call move_pfn_range_to_zone to finish the initialization.
> >> - */
> >> -
> >> -#define MHP_MEMBLOCK_API (1<<0)
> >> -
> >> /* reasonably generic interface to expand the physical pages */
> >> extern int __add_pages(int nid, unsigned long start_pfn, unsigned long nr_pages,
> >> struct mhp_restrictions *restrictions);
> >> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> >> index e1637c8a0723..107f72952347 100644
> >> --- a/mm/memory_hotplug.c
> >> +++ b/mm/memory_hotplug.c
> >> @@ -250,7 +250,7 @@ void __init register_page_bootmem_info_node(struct pglist_data *pgdat)
> >> #endif /* CONFIG_HAVE_BOOTMEM_INFO_NODE */
> >>
> >> static int __meminit __add_section(int nid, unsigned long phys_start_pfn,
> >> - struct vmem_altmap *altmap, bool want_memblock)
> >> + struct vmem_altmap *altmap)
> >> {
> >> int ret;
> >>
> >> @@ -293,8 +293,7 @@ int __ref __add_pages(int nid, unsigned long phys_start_pfn,
> >> }
> >>
> >> for (i = start_sec; i <= end_sec; i++) {
> >> - err = __add_section(nid, section_nr_to_pfn(i), altmap,
> >> - restrictions->flags & MHP_MEMBLOCK_API);
> >> + err = __add_section(nid, section_nr_to_pfn(i), altmap);
> >>
> >> /*
> >> * EEXIST is finally dealt with by ioresource collision
> >> @@ -1066,9 +1065,7 @@ static int online_memory_block(struct memory_block *mem, void *arg)
> >> */
> >> int __ref add_memory_resource(int nid, struct resource *res)
> >> {
> >> - struct mhp_restrictions restrictions = {
> >> - .flags = MHP_MEMBLOCK_API,
> >> - };
> >> + struct mhp_restrictions restrictions = {};
> >
> > With mhp_restrictions.flags no longer needed, can we drop
> > mhp_restrictions and just go back to a plain @altmap argument?
> >
>
> Oscar wants to use it to configure from where to allocate vmemmaps. That
> was the original driver behind it.
>

Ah, ok, makes sense.