Subject: Re: [PATCH v7 2/5] mm: remove x86-only restriction of movable_node

From: "Aneesh Kumar K.V" <[email-masked]>
Date: Tue, 15 Nov 2016 12:35:42 +0530

Reza Arbab <[email-masked]> writes:

> In commit c5320926e370 ("mem-hotplug: introduce movable_node boot
> option"), the memblock allocation direction is changed to bottom-up and
> then back to top-down like this:
>
> 1. memblock_set_bottom_up(true), called by cmdline_parse_movable_node().
> 2. memblock_set_bottom_up(false), called by x86's numa_init().
>
> Even though (1) occurs in generic mm code, it is wrapped by #ifdef
> CONFIG_MOVABLE_NODE, which depends on X86_64.
>
> This means that when we extend CONFIG_MOVABLE_NODE to non-x86 arches,
> things will be unbalanced. (1) will happen for them, but (2) will not.
>
> This toggle was added in the first place because x86 has a delay between
> adding memblocks and marking them as hotpluggable. Since other arches do
> this marking either immediately or not at all, they do not require the
> bottom-up toggle.
>
> So, resolve things by moving (1) from cmdline_parse_movable_node() to
> x86's setup_arch(), immediately after the movable_node parameter has
> been parsed.

Considering that we now can mark memblock hotpluggable, do we need to
enable the bottom up allocation for ppc64 also ?

>
> Signed-off-by: Reza Arbab <[email-masked]>
> ---
>  Documentation/kernel-parameters.txt |  2 +-
>  arch/x86/kernel/setup.c             | 24 ++++++++++++++++++++++++

-aneesh