5f794a7
From patchwork Thu Mar 30 04:03:49 2017
5f794a7
Content-Type: text/plain; charset="utf-8"
5f794a7
MIME-Version: 1.0
5f794a7
Content-Transfer-Encoding: 7bit
5f794a7
Subject: powerpc/prom: Increase RMA size to 512MB
5f794a7
From: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
5f794a7
X-Patchwork-Id: 745044
5f794a7
Message-Id: <20170330040349.GA31756@us.ibm.com>
5f794a7
To: Michael Ellerman <mpe@ellerman.id.au>
5f794a7
Cc: praveen.pandey@in.ibm.com, linuxppc-dev@lists.ozlabs.org,
5f794a7
 linux-kernel@vger.kernel.org
5f794a7
Date: Wed, 29 Mar 2017 21:03:49 -0700
5f794a7
5f794a7
>From 3ae8d1ed31b01b92b172fe20e4560cfbfab135ec Mon Sep 17 00:00:00 2001
5f794a7
From: root <root@furatripa-lp2.aus.stglabs.ibm.com>
5f794a7
Date: Mon, 27 Mar 2017 19:43:14 -0400
5f794a7
Subject: [PATCH] powerpc/prom: Increase RMA size to 512MB
5f794a7
5f794a7
When booting very large systems with a large initrd, we run out of
5f794a7
space for either the RTAS or the flattened device tree (FDT). Boot
5f794a7
fails with messages like:
5f794a7
5f794a7
	Could not allocate memory for RTAS
5f794a7
or
5f794a7
	No memory for flatten_device_tree (no room)
5f794a7
5f794a7
Increasing the minimum RMA size to 512MB fixes the problem. This
5f794a7
should not have an impact on smaller LPARs (with 256MB memory),
5f794a7
as the firmware will cap the RMA to the memory assigned to the LPAR.
5f794a7
5f794a7
Fix is based on input/discussions with Michael Ellerman. Thanks to
5f794a7
Praveen K. Pandey for testing on a large system.
5f794a7
5f794a7
Reported-by: Praveen K. Pandey <preveen.pandey@in.ibm.com>
5f794a7
Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
5f794a7
---
5f794a7
 arch/powerpc/kernel/prom_init.c | 2 +-
5f794a7
 1 file changed, 1 insertion(+), 1 deletion(-)
5f794a7
5f794a7
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
5f794a7
index 1c1b44e..dd8a04f 100644
5f794a7
--- a/arch/powerpc/kernel/prom_init.c
5f794a7
+++ b/arch/powerpc/kernel/prom_init.c
5f794a7
@@ -815,7 +815,7 @@ struct ibm_arch_vec __cacheline_aligned ibm_architecture_vec = {
5f794a7
 		.virt_base = cpu_to_be32(0xffffffff),
5f794a7
 		.virt_size = cpu_to_be32(0xffffffff),
5f794a7
 		.load_base = cpu_to_be32(0xffffffff),
5f794a7
-		.min_rma = cpu_to_be32(256),		/* 256MB min RMA */
5f794a7
+		.min_rma = cpu_to_be32(512),		/* 512MB min RMA */
5f794a7
 		.min_load = cpu_to_be32(0xffffffff),	/* full client load */
5f794a7
 		.min_rma_percent = 0,	/* min RMA percentage of total RAM */
5f794a7
 		.max_pft_size = 48,	/* max log_2(hash table size) */