Re: [PATCH v2 5/7] mm,memory_hotplug: Enforce pageblock alignment when memmap_on_memory

From: Oscar Salvador
Date: Fri Feb 26 2021 - 07:07:13 EST


On Thu, Feb 25, 2021 at 07:27:33PM +0100, David Hildenbrand wrote:
> > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> > index d3fb036d33fd..1a4d5dd1a2c8 100644
> > --- a/mm/memory_hotplug.c
> > +++ b/mm/memory_hotplug.c
> > @@ -56,12 +56,16 @@ static int memmap_on_memory_show(char *buffer, const struct kernel_param *kp)
> > static __meminit int memmap_on_memory_store(const char *val,
> > const struct kernel_param *kp)
> > {
> > + unsigned long pageblock_size = PFN_PHYS(pageblock_nr_pages);
> > +
> > /*
> > * Fail silently in case we cannot enable it due to system constraints.
> > * User can always check whether it is enabled or not via /sys/module.
> > */
> > if (!IS_ENABLED(CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE) ||
> > - (PMD_SIZE % sizeof(struct page)))
> > + (PMD_SIZE % sizeof(struct page)) ||
> > + !(MIN_MEMORY_BLOCK_SIZE - PMD_SIZE) ||
> > + !(MIN_MEMORY_BLOCK_SIZE - PMD_SIZE) % pageblock_size)
> > return 0;
> > return param_set_bool(val, kp);
> >
>
> Dito, rather squash in #1 and add a comment explaining what's happening
> there.

I was not sure about putting this and the PMD aligned patch as a
standalone patch, but I thought it might ease the review.
But I have no problem in placing them in patch#1 and put some more
detail into the changelog.

--
Oscar Salvador
SUSE L3