linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] memblock: Add flags and nid info in memblock debugfs
@ 2023-05-17  2:57 Yuwei Guan
  2023-05-17  6:07 ` Anshuman Khandual
  2023-05-17 13:43 ` Mike Rapoport
  0 siblings, 2 replies; 5+ messages in thread
From: Yuwei Guan @ 2023-05-17  2:57 UTC (permalink / raw)
  To: rppt, akpm, tsahu; +Cc: linux-mm, linux-kernel, Yuwei Guan

Currently, the memblock debugfs can display the count of memblock_type and
the base and end of the reg. However, when the following scenario occurs,
the information in the existing debugfs cannot make it clear why the
address is not consecutive.

For example,
cat /sys/kernel/debug/memblock/memory
   0: 0x0000000080000000..0x00000000901fffff
   1: 0x0000000090200000..0x00000000905fffff
   2: 0x0000000090600000..0x0000000092ffffff
   3: 0x0000000093000000..0x00000000973fffff
   4: 0x0000000097400000..0x00000000b71fffff
   5: 0x00000000c0000000..0x00000000dfffffff
   6: 0x00000000e2500000..0x00000000f87fffff
   7: 0x00000000f8800000..0x00000000fa7fffff
   8: 0x00000000fa800000..0x00000000fd3effff
   9: 0x00000000fd3f0000..0x00000000fd3fefff
  10: 0x00000000fd3ff000..0x00000000fd7fffff
  11: 0x00000000fd800000..0x00000000fd901fff
  12: 0x00000000fd902000..0x00000000fd909fff
  13: 0x00000000fd90a000..0x00000000fd90bfff
  14: 0x00000000fd90c000..0x00000000ffffffff
  15: 0x0000000880000000..0x0000000affffffff

So we can add flags and nid to this debugfs.

For example,
cat /sys/kernel/debug/memblock/memory
cnt     base..end       flags   nid
0:      0x0000000080000000..0x00000000901fffff  0x0     0x0
1:      0x0000000090200000..0x00000000905fffff  0x4     0x0
2:      0x0000000090600000..0x0000000092ffffff  0x0     0x0
3:      0x0000000093000000..0x00000000973fffff  0x4     0x0
4:      0x0000000097400000..0x00000000b71fffff  0x0     0x0
5:      0x00000000c0000000..0x00000000dfffffff  0x0     0x0
6:      0x00000000e2500000..0x00000000f87fffff  0x0     0x0
7:      0x00000000f8800000..0x00000000fa7fffff  0x4     0x0
8:      0x00000000fa800000..0x00000000fd3effff  0x0     0x0
9:      0x00000000fd3f0000..0x00000000fd3fefff  0x4     0x0
10:     0x00000000fd3ff000..0x00000000fd7fffff  0x0     0x0
11:     0x00000000fd800000..0x00000000fd901fff  0x4     0x0
12:     0x00000000fd902000..0x00000000fd909fff  0x0     0x0
13:     0x00000000fd90a000..0x00000000fd90bfff  0x4     0x0
14:     0x00000000fd90c000..0x00000000ffffffff  0x0     0x0
15:     0x0000000880000000..0x0000000affffffff  0x0     0x0

Signed-off-by: Yuwei Guan <ssawgyw@gmail.com>
Reviewed-by: Tarun Sahu <tsahu@linux.ibm.com>
---
 mm/memblock.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/mm/memblock.c b/mm/memblock.c
index 511d4783dcf1..b36fb6b31e0f 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -2144,12 +2144,16 @@ static int memblock_debug_show(struct seq_file *m, void *private)
 	int i;
 	phys_addr_t end;
 
+	seq_puts(m, "cnt\tbase..end\tflags\tnid\n");
+
 	for (i = 0; i < type->cnt; i++) {
 		reg = &type->regions[i];
 		end = reg->base + reg->size - 1;
 
-		seq_printf(m, "%4d: ", i);
-		seq_printf(m, "%pa..%pa\n", &reg->base, &end);
+		seq_printf(m, "%d:\t", i);
+		seq_printf(m, "%pa..%pa\t", &reg->base, &end);
+		seq_printf(m, "0x%x\t", reg->flags);
+		seq_printf(m, "0x%x\n", memblock_get_region_node(reg));
 	}
 	return 0;
 }
-- 
2.34.1



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-05-18  5:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-17  2:57 [PATCH v2] memblock: Add flags and nid info in memblock debugfs Yuwei Guan
2023-05-17  6:07 ` Anshuman Khandual
2023-05-17 13:42   ` Mike Rapoport
2023-05-18  5:58     ` Yuwei Guan
2023-05-17 13:43 ` Mike Rapoport

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox