On Wed, Nov 11, 2020 at 01:30:40PM +0530, Faiyaz Mohammed wrote: > > On 11/10/2020 11:46 PM, Mike Rapoport wrote: > > Hi, > > > > On Tue, Nov 10, 2020 at 05:49:58PM +0530, Faiyaz Mohammed wrote: > > > Exact caller of memblock_phys_alloc_range is not available with > > > "memblock=debug". Below information is not enough for memory accounting. > > > for example: > > > [ 0.000000] memblock_reserve: [0x000000023fc6b000-0x000000023fc6bfff] memblock_alloc_range_nid+0xc0/0x188 > > > > > > To enhance the memblock_dbg information or to get the exact owner of the > > > memblock_reserve, add debug logs in memblock_phys_alloc_range function. > > Why would you want to use memblock=debug for memory accounting or for > > tracking of the owners of the reserved memory? > We do memblock reserved accounting to track owners to know size of memory > allocated by different drivers/owners through memblock_reserve, which help > in comparing different kernel version and in optimizations. I'd suggest to update the commit messaget to somthing like: It is usefull to know the exact caller of memblock_phys_alloc_range() to track early memory reservations during developement. Currently, when memblock debugging is enabled, the allocations done with memblock_phys_alloc_range() are only reported at memblock_reserve(): [ 0.000000] memblock_reserve: [0x000000023fc6b000-0x000000023fc6bfff] memblock_alloc_range_nid+0xc0/0x188 Add memblock_dbg() to memblock_phys_alloc_range() to get details about its usage. For example: [ 0.000000] memblock_phys_alloc_range: 4096 bytes align=0x1000 from=0x0000000000000000 max_addr=0x0000000000000000 early_pgtable_alloc+0x24/0x178 [ 0.000000] memblock_reserve: [0x000000023fc6b000-0x000000023fc6bfff] memblock_alloc_range_nid+0xc0/0x188 > > > After adding logs: > > > [ 0.000000] memblock_phys_alloc_range: 4096 bytes align=0x1000 from=0x0000000000000000 max_addr=0x0000000000000000 early_pgtable_alloc+0x24/0x178 > > > [ 0.000000] memblock_reserve: [0x000000023fc6b000-0x000000023fc6bfff] memblock_alloc_range_nid+0xc0/0x188 > > > > > > Signed-off-by: Faiyaz Mohammed <faiyazm@xxxxxxxxxxxxxx> > > > --- > > > mm/memblock.c | 3 +++ > > > 1 file changed, 3 insertions(+) > > > > > > diff --git a/mm/memblock.c b/mm/memblock.c > > > index 049df41..f65af9f 100644 > > > --- a/mm/memblock.c > > > +++ b/mm/memblock.c > > > @@ -1419,6 +1419,9 @@ phys_addr_t __init memblock_phys_alloc_range(phys_addr_t size, > > > phys_addr_t start, > > > phys_addr_t end) > > > { > > > + memblock_dbg("%s: %llu bytes align=0x%llx from=%pa max_addr=%pa %pS\n", > > > + __func__, (u64)size, (u64)align, &start, &end, > > > + (void *)_RET_IP_); > > > return memblock_alloc_range_nid(size, align, start, end, NUMA_NO_NODE, > > > false); > > > } > > > -- > > > QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a > > > member of the Code Aurora Forum, hosted by The Linux Foundation > > > -- Sincerely yours, Mike.