kernel/powerpc-prom-Increase-RMA-size-to-512MB.patch

53 lines
2.1 KiB
Diff

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