mm/memblock.c: add debug output for memblock_add()
authorAlexander Kuleshov <kuleshovmail@gmail.com>
Wed, 15 Apr 2015 23:14:44 +0000 (16:14 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 15 Apr 2015 23:35:19 +0000 (16:35 -0700)
memblock_reserve() calls memblock_reserve_region() which prints debugging
information if 'memblock=debug' was passed on the command line.  This
patch adds the same behaviour, but for memblock_add function().

[akpm@linux-foundation.org: s/memblock_memory/memblock_add/ in message]
Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Philipp Hachtmann <phacht@linux.vnet.ibm.com>
Cc: Fabian Frederick <fabf@skynet.be>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Emil Medve <Emilian.Medve@freescale.com>
Cc: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Tang Chen <tangchen@cn.fujitsu.com>
Cc: Tony Luck <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/memblock.c

index 3f37a0bca5d5a56eb1acaa1bf576b8121acc64c6..9318b567ed7959721cb20239f410686b2635f335 100644 (file)
@@ -580,10 +580,24 @@ int __init_memblock memblock_add_node(phys_addr_t base, phys_addr_t size,
        return memblock_add_range(&memblock.memory, base, size, nid, 0);
 }
 
+static int __init_memblock memblock_add_region(phys_addr_t base,
+                                               phys_addr_t size,
+                                               int nid,
+                                               unsigned long flags)
+{
+       struct memblock_type *_rgn = &memblock.memory;
+
+       memblock_dbg("memblock_add: [%#016llx-%#016llx] flags %#02lx %pF\n",
+                    (unsigned long long)base,
+                    (unsigned long long)base + size - 1,
+                    flags, (void *)_RET_IP_);
+
+       return memblock_add_range(_rgn, base, size, nid, flags);
+}
+
 int __init_memblock memblock_add(phys_addr_t base, phys_addr_t size)
 {
-       return memblock_add_range(&memblock.memory, base, size,
-                                  MAX_NUMNODES, 0);
+       return memblock_add_region(base, size, MAX_NUMNODES, 0);
 }
 
 /**