On Sun, 2016-09-25 at 13:36 -0500, Reza Arbab wrote: > At boot, the movable_node option sets bottom-up memblock allocation. > > This reduces the chance that, in the window before movable memory has > been identified, an allocation for the kernel might come from a movable > node. By going bottom-up, early allocations will most likely come from > the same node as the kernel image, which is necessarily in a nonmovable > node. > > Then, once any known hotplug memory has been marked, allocation can be > reset back to top-down. On x86, this is done in numa_init(). This patch > does the same on power, in numa initmem_init(). That's fragile and a bit gross. But then I'm not *that* fan of making accelerator memory be "memory" nodes in the first place. Oh well... In any case, if the memory hasn't been hotplug, this shouldn't be necessary as we shouldn't be considering it for allocation. If we want to prevent it for other reason, we should add logic for that in memblock, or reserve it early or something like that. Just relying magically on the direction of the allocator is bad, really bad. Ben. > Signed-off-by: Reza Arbab <arbab@xxxxxxxxxxxxxxxxxx> > --- > arch/powerpc/mm/numa.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c > index d7ac419..fdf1e69 100644 > --- a/arch/powerpc/mm/numa.c > +++ b/arch/powerpc/mm/numa.c > @@ -945,6 +945,9 @@ void __init initmem_init(void) > > max_low_pfn = memblock_end_of_DRAM() >> PAGE_SHIFT; > > max_pfn = max_low_pfn; > > > + /* bottom-up allocation may have been set by movable_node */ > > + memblock_set_bottom_up(false); > + > > if (parse_numa_properties()) > > setup_nonnuma(); > > else -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html