x86-32, numa: Make init_alloc_remap() less panicky
authorTejun Heo <tj@kernel.org>
Mon, 4 Apr 2011 22:23:54 +0000 (00:23 +0200)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 7 Apr 2011 00:57:21 +0000 (17:57 -0700)
Remap allocator failure isn't fatal.  The callers are required to fall
back to regular early memory allocation mechanisms on failure anyway,
so there's no reason to panic on remap init failure.  Whining and
returning are enough.

Signed-off-by: Tejun Heo <tj@kernel.org>
Link: http://lkml.kernel.org/r/1301955840-7246-9-git-send-email-tj@kernel.org
Acked-by: Yinghai Lu <yinghai@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/mm/numa_32.c

index 9a7336550f0d3753d637a5ab1a893e5a4c70e014..c127543372f51df51fa55024bec3e02ee0bef5c0 100644 (file)
@@ -290,8 +290,11 @@ static __init unsigned long init_alloc_remap(int nid, unsigned long offset)
        node_pa = memblock_find_in_range(node_start_pfn[nid] << PAGE_SHIFT,
                                         (u64)node_end_pfn[nid] << PAGE_SHIFT,
                                         size, LARGE_PAGE_BYTES);
-       if (node_pa == MEMBLOCK_ERROR)
-               panic("Can not get kva ram\n");
+       if (node_pa == MEMBLOCK_ERROR) {
+               pr_warning("remap_alloc: failed to allocate %lu bytes for node %d\n",
+                          size, nid);
+               return 0;
+       }
 
        node_remap_size[nid] = size >> PAGE_SHIFT;
        node_remap_offset[nid] = offset;