summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2010-07-07 02:39:18 +0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2010-08-05 06:56:25 +0400
commit918fe8d60331f679519ab8239a7232272126da9e (patch)
treee470c3ceba4a667b77465ac3a078ce3a3fdd1ab8
parent9d1e24928e6a0728d1c7c76818ccbd11b93e7ac9 (diff)
downloadlinux-918fe8d60331f679519ab8239a7232272126da9e.tar.xz
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 <benh@kernel.crashing.org>
-rw-r--r--mm/memblock.c2
1 files changed, 1 insertions, 1 deletions
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);
}