Thread (39 messages) 39 messages, 5 authors, 2013-12-20

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

From: tj@kernel.org (Tejun Heo)
Date: 2013-12-13 21:37:40
Also in: linux-mm, lkml

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help