[PATCH v2] powerpc: Remove more traces of bootmem

Tony Breeds tony at bakeyournoodle.com
Thu Nov 20 13:33:19 AEDT 2014


On Thu, Nov 20, 2014 at 11:07:38AM +1100, Michael Ellerman wrote:
> Although we are now selecting NO_BOOTMEM, we still have some traces of
> bootmem lying around. That is because even with NO_BOOTMEM there is
> still a shim that converts bootmem calls into memblock calls, but
> ultimately we want to remove all traces of bootmem.
> 
> Most of the patch is conversions from alloc_bootmem() to
> memblock_virt_alloc(). In general a call such as:
> 
>   p = (struct foo *)alloc_bootmem(x);
> 
> Becomes:
> 
>   p = memblock_virt_alloc(x, 0);
> 
> We don't need the cast because memblock_virt_alloc() returns a void *.
> The alignment value of zero tells memblock to use the default alignment,
> which is SMP_CACHE_BYTES, the same value alloc_bootmem() uses.
> 
> We remove a number of NULL checks on the result of
> memblock_virt_alloc(). That is because memblock_virt_alloc() will panic
> if it can't allocate, in exactly the same way as alloc_bootmem(), so the
> NULL checks are and always have been redundant.
> 
> The memory returned by memblock_virt_alloc() is already zeroed, so we
> remove several memsets of the result of memblock_virt_alloc().
> 
> Finally we convert a few uses of __alloc_bootmem(x, y, MAX_DMA_ADDRESS)
> to just plain memblock_virt_alloc(). We don't use memblock_alloc_base()
> because MAX_DMA_ADDRESS is ~0ul on powerpc, so limiting the allocation
> to that is pointless, 16XB ought to be enough for anyone.
> 
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
> ---

<snip>

> --- a/arch/powerpc/lib/alloc.c
> +++ b/arch/powerpc/lib/alloc.c
> @@ -13,9 +13,7 @@ void * __init_refok zalloc_maybe_bootmem(size_t size, gfp_t mask)
>  	if (mem_init_done)
>  		p = kzalloc(size, mask);
>  	else {
> -		p = alloc_bootmem(size);
> -		if (p)
> -			memset(p, 0, size);
> +		p = memblock_virt_alloc(size, 0);
>  	}

You knew someone would ask but ...
Do you want to remove the {} form the else clause so that the style matches the  if()

Yours Tony.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20141120/ba9d5ed4/attachment.sig>


More information about the Linuxppc-dev mailing list