From: Benjamin Herrenschmidt Date: Tue, 6 Jul 2010 22:39:18 +0000 (-0700) Subject: memblock: Make memblock_alloc_try_nid() fallback to MEMBLOCK_ALLOC_ANYWHERE X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=918fe8d60331f679519ab8239a7232272126da9e;p=deliverable%2Flinux.git memblock: Make memblock_alloc_try_nid() fallback to MEMBLOCK_ALLOC_ANYWHERE memblock_alloc_nid() used to fallback to allocating anywhere by using memblock_alloc() as a fallback. However, some of my previous patches limit memblock_alloc() to the region covered by MEMBLOCK_ALLOC_ACCESSIBLE which is not quite what we want for memblock_alloc_try_nid(). So we fix it by explicitely using MEMBLOCK_ALLOC_ANYWHERE. Not that so far only sparc uses memblock_alloc_nid() and it hasn't been updated to clamp the accessible zone yet. Thus the temporary "breakage" should have no effect. Signed-off-by: Benjamin Herrenschmidt --- diff --git a/mm/memblock.c b/mm/memblock.c index 1802d97c7284..9de5fcdf8e28 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -546,7 +546,7 @@ phys_addr_t __init memblock_alloc_try_nid(phys_addr_t size, phys_addr_t align, i if (res) return res; - return memblock_alloc(size, align); + return memblock_alloc_base(size, align, MEMBLOCK_ALLOC_ANYWHERE); }