[PATCH] powerpc: Use more accurate limit for first segment memory allocations

Michael Ellerman michael at ellerman.id.au
Tue May 11 23:24:50 EST 2010


On Tue, 2010-05-11 at 14:59 +1000, Anton Blanchard wrote:
> Author: Milton Miller <miltonm at bga.com>
> 
> On large machines we are running out of room below 256MB. In some cases we
> only need to ensure the allocation is in the first segment, which may be
> 256MB or 1TB.
> 
> Add slb0_limit and use it to specify the upper limit for the irqstack and
> emergency stacks.
> 
> On a large ppc64 box, this fixes a panic at boot when the crashkernel=
> option is specified (previously we would run out of memory below 256MB).
> 
> Signed-off-by: Milton Miller <miltonm at bga.com>
> Signed-off-by: Anton Blanchard <anton at samba.org>
> ---
> 
> Some things we should add:
> 
> - Specify a more intelligent limit for BookE
> - The allocation of the PACAs should use this limit too

We access the PACA from real mode?

> Index: linux-2.6/arch/powerpc/kernel/setup_64.c
> ===================================================================
> --- linux-2.6.orig/arch/powerpc/kernel/setup_64.c	2010-04-22 17:23:42.000000000 +1000
> +++ linux-2.6/arch/powerpc/kernel/setup_64.c	2010-04-30 09:46:15.000000000 +1000
> @@ -424,9 +424,18 @@ void __init setup_system(void)
>  	DBG(" <- setup_system()\n");
>  }
>  
> +static u64 slb0_limit(void)
> +{
> +	if (cpu_has_feature(CPU_FTR_1T_SEGMENT)) {
> +		return 1UL << SID_SHIFT_1T;
> +	}
> +	return 1UL << SID_SHIFT;
> +}

I take it there's no chance the CPU feature is there but we're using 256
for whatever reason?

cheers

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20100511/09e8eb5d/attachment-0001.pgp>


More information about the Linuxppc-dev mailing list