Re: [PATCH v3 08/23] mm/memblock: Add memblock memory allocation apis

From: Tejun Heo
Date: Fri Dec 13 2013 - 16:37:42 EST


On Mon, Dec 09, 2013 at 04:50:41PM -0500, Santosh Shilimkar wrote:
> Introduce memblock memory allocation APIs which allow to support
> PAE or LPAE extension on 32 bits archs where the physical memory
> start address can be beyond 4GB. In such cases, existing bootmem
> APIs which operate on 32 bit addresses won't work and needs
> memblock layer which operates on 64 bit addresses.

The overall API looks good to me. Thanks for doing this!

> +static void * __init memblock_virt_alloc_internal(
> + phys_addr_t size, phys_addr_t align,
> + phys_addr_t min_addr, phys_addr_t max_addr,
> + int nid)
> +{
> + phys_addr_t alloc;
> + void *ptr;
> +
> + if (nid == MAX_NUMNODES)
> + pr_warn("%s: usage of MAX_NUMNODES is depricated. Use NUMA_NO_NODE\n",
> + __func__);

Why not use WARN_ONCE()? Also, shouldn't nid be set to NUMA_NO_NODE
here?

...
> + if (nid != NUMA_NO_NODE) {

Otherwise, the above test is broken.

> + alloc = memblock_find_in_range_node(size, align, min_addr,
> + max_addr, NUMA_NO_NODE);
> + if (alloc)
> + goto done;
> + }

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/