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