powerpc/prom: Increase minimum RMA size to 512MB
authorSukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Mon, 27 Mar 2017 23:43:14 +0000 (19:43 -0400)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 4 Apr 2017 03:27:59 +0000 (13:27 +1000)
When booting very large systems with a large initrd, we run out of
space early in boot for either 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>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/prom_init.c

index 1c1b44ec7642a531e116fa0d04b6269dd38e93b5..dd8a04f3053a71dd811c03cb1c668d1a61d35063 100644 (file)
@@ -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) */