[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1474828616-16608-5-git-send-email-arbab@linux.vnet.ibm.com>
Date: Sun, 25 Sep 2016 13:36:55 -0500
From: Reza Arbab <arbab@...ux.vnet.ibm.com>
To: Michael Ellerman <mpe@...erman.id.au>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>,
Rob Herring <robh+dt@...nel.org>,
Frank Rowand <frowand.list@...il.com>,
Jonathan Corbet <corbet@....net>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: Bharata B Rao <bharata@...ux.vnet.ibm.com>,
Nathan Fontenot <nfont@...ux.vnet.ibm.com>,
Stewart Smith <stewart@...ux.vnet.ibm.com>,
Alistair Popple <apopple@....ibm.com>,
Balbir Singh <bsingharora@...il.com>,
"Aneesh Kumar K.V" <aneesh.kumar@...ux.vnet.ibm.com>,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
linuxppc-dev@...ts.ozlabs.org, devicetree@...r.kernel.org,
linux-mm@...ck.org
Subject: [PATCH v3 4/5] powerpc/mm: restore top-down allocation when using movable_node
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().
Signed-off-by: Reza Arbab <arbab@...ux.vnet.ibm.com>
---
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
--
1.8.3.1
Powered by blists - more mailing lists