mm: memblock: Add more debug logs
memblock_alloc is not giving information of owner of the memblock_reserve, when we pass through command line "memblock=debug". Below information is not enough for memory statistics. for example: [ 0.000000] memblock_reserve: [0x000000013fbf8000-0x000000013fbf8fff] memblock_alloc+0x50/0x60. To enhance the memblokc_dbg information or to get the exact owner of the memblock_reserve added debug logs in different memblock alloc functions, which is helpful for memory statistics. After adding logs: [ 0.000000] memblock_alloc: size: 4096 align: 4096 early_pgtable_alloc+0x18/0x98. [ 0.000000] memblock_reserve: [0x000000013fbf9000-0x000000013fbf9fff] memblock_alloc+0x50/0x60. Change-Id: Ibc9603f71fe3150af67398658d04c34f824b47e1 Signed-off-by: Faiyaz Mohammed <faiyazm@codeaurora.org>
This commit is contained in:
parent
364e8d572e
commit
bf5dfef3f2
2 changed files with 10 additions and 0 deletions
|
@ -9,6 +9,7 @@
|
|||
#include <linux/mm_types.h>
|
||||
#include <asm/dma.h>
|
||||
#include <asm/processor.h>
|
||||
#include <linux/memblock.h>
|
||||
|
||||
/*
|
||||
* simple boot-time physical memory area allocator.
|
||||
|
@ -186,6 +187,9 @@ void __memblock_free_late(phys_addr_t base, phys_addr_t size);
|
|||
static inline void * __init memblock_virt_alloc(
|
||||
phys_addr_t size, phys_addr_t align)
|
||||
{
|
||||
memblock_dbg("%s: %llu bytes align=0x%llx %pS\n",
|
||||
__func__, (u64)size, (u64)align, (void *)_RET_IP_);
|
||||
|
||||
return memblock_virt_alloc_try_nid(size, align, BOOTMEM_LOW_LIMIT,
|
||||
BOOTMEM_ALLOC_ACCESSIBLE,
|
||||
NUMA_NO_NODE);
|
||||
|
|
|
@ -1261,6 +1261,8 @@ phys_addr_t __init memblock_alloc_range(phys_addr_t size, phys_addr_t align,
|
|||
phys_addr_t start, phys_addr_t end,
|
||||
enum memblock_flags flags)
|
||||
{
|
||||
memblock_dbg("%s: size: %llu align: %llu %pS\n",
|
||||
__func__, (u64)size, (u64)align, (void *)_RET_IP_);
|
||||
return memblock_alloc_range_nid(size, align, start, end, NUMA_NO_NODE,
|
||||
flags);
|
||||
}
|
||||
|
@ -1290,6 +1292,8 @@ phys_addr_t __init memblock_alloc_nid(phys_addr_t size, phys_addr_t align, int n
|
|||
|
||||
phys_addr_t __init __memblock_alloc_base(phys_addr_t size, phys_addr_t align, phys_addr_t max_addr)
|
||||
{
|
||||
memblock_dbg("%s: size: %llu align: %llu %pS\n",
|
||||
__func__, (u64)size, (u64)align, (void *)_RET_IP_);
|
||||
return memblock_alloc_base_nid(size, align, max_addr, NUMA_NO_NODE,
|
||||
MEMBLOCK_NONE);
|
||||
}
|
||||
|
@ -1309,6 +1313,8 @@ phys_addr_t __init memblock_alloc_base(phys_addr_t size, phys_addr_t align, phys
|
|||
|
||||
phys_addr_t __init memblock_alloc(phys_addr_t size, phys_addr_t align)
|
||||
{
|
||||
memblock_dbg("%s: size: %llu align: %llu %pS\n",
|
||||
__func__, (u64)size, (u64)align, (void *)_RET_IP_);
|
||||
return memblock_alloc_base(size, align, MEMBLOCK_ALLOC_ACCESSIBLE);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue