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 <[email protected]> > ---
<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.
pgp6m6O8tBtsv.pgp
Description: PGP signature
_______________________________________________ Linuxppc-dev mailing list [email protected] https://lists.ozlabs.org/listinfo/linuxppc-dev
