memblock: Improve debug output when resizing the reserve array
authorYinghai Lu <yinghai@kernel.org>
Wed, 28 Jul 2010 05:13:22 +0000 (15:13 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 5 Aug 2010 02:56:28 +0000 (12:56 +1000)
Print out the location info in addition to which array is being
resized. Also use memblocK_dbg() to put that under control of
the memblock_debug flag.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
mm/memblock.c

index 5499ab162b9df985e9f0826ee4401648a9113ecf..c3703abf057e864b131b8995ba1a422facffcefb 100644 (file)
@@ -192,8 +192,6 @@ static int memblock_double_array(struct memblock_type *type)
        if (!memblock_can_resize)
                return -1;
 
-       pr_debug("memblock: %s array full, doubling...", memblock_type_name(type));
-
        /* Calculate new doubled size */
        old_size = type->max * sizeof(struct memblock_region);
        new_size = old_size << 1;
@@ -221,6 +219,9 @@ static int memblock_double_array(struct memblock_type *type)
        }
        new_array = __va(addr);
 
+       memblock_dbg("memblock: %s array is doubled to %ld at [%#010llx-%#010llx]",
+                memblock_type_name(type), type->max * 2, (u64)addr, (u64)addr + new_size - 1);
+
        /* Found space, we now need to move the array over before
         * we add the reserved region since it may be our reserved
         * array itself that is full.
@@ -672,7 +673,7 @@ static void memblock_dump(struct memblock_type *region, char *name)
                base = region->regions[i].base;
                size = region->regions[i].size;
 
-               pr_info(" %s[0x%x]\t0x%016llx - 0x%016llx, 0x%llx bytes\n",
+               pr_info(" %s[%#x]\t[%#016llx-%#016llx], %#llx bytes\n",
                    name, i, base, base + size - 1, size);
        }
 }