From: Mike Rapoport <rppt@kernel.org>
To: Yuwei Guan <ssawgyw@gmail.com>
Cc: akpm@linux-foundation.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] memblock: Add flags and nid info in memblock debugfs
Date: Tue, 16 May 2023 07:10:33 -0700 [thread overview]
Message-ID: <20230516141033.GA4967@kernel.org> (raw)
In-Reply-To: <20230516020645.160-1-ssawgyw@gmail.com>
Hi,
On Tue, May 16, 2023 at 10:06:45AM +0800, Yuwei Guan wrote:
> 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 flags base..end
> 0: 0x0 0x0000000080000000..0x00000000901fffff
> 1: 0x4 0x0000000090200000..0x00000000905fffff
> 2: 0x0 0x0000000090600000..0x0000000092ffffff
> 3: 0x4 0x0000000093000000..0x00000000973fffff
> 4: 0x0 0x0000000097400000..0x00000000b71fffff
> 5: 0x0 0x00000000c0000000..0x00000000dfffffff
> 6: 0x0 0x00000000e2500000..0x00000000f87fffff
> 7: 0x4 0x00000000f8800000..0x00000000fa7fffff
> 8: 0x0 0x00000000fa800000..0x00000000fd3effff
> 9: 0x4 0x00000000fd3f0000..0x00000000fd3fefff
> 10: 0x0 0x00000000fd3ff000..0x00000000fd7fffff
> 11: 0x4 0x00000000fd800000..0x00000000fd901fff
> 12: 0x0 0x00000000fd902000..0x00000000fd909fff
> 13: 0x4 0x00000000fd90a000..0x00000000fd90bfff
> 14: 0x0 0x00000000fd90c000..0x00000000ffffffff
> 15: 0x0 0x0000000880000000..0x0000000affffffff
>
> Signed-off-by: Yuwei Guan <ssawgyw@gmail.com>
> ---
> mm/memblock.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/mm/memblock.c b/mm/memblock.c
> index 45f198750be9..34230b258e21 100644
> --- a/mm/memblock.c
> +++ b/mm/memblock.c
> @@ -2045,11 +2045,21 @@ static int memblock_debug_show(struct seq_file *m, void *private)
> int i;
> phys_addr_t end;
>
> +#ifdef CONFIG_NUMA
> + seq_puts(m, "cnt\tflags\tnid\tbase..end\n");
> +#else
> + seq_puts(m, "cnt\tflags\tbase..end\n");
> +#endif
> +
> 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, "%d:\t", i);
> + seq_printf(m, "0x%x\t", reg->flags);
> +#ifdef CONFIG_NUMA
> + seq_printf(m, "0x%x\t", reg->nid);
> +#endif
Please add flags and node information after the ranges and print node for
UMA case as well. I'd prefer to have zeros in debugfs rather than ifdefs
here. Just use memblock_get_region_node() instead of r->nid.
> seq_printf(m, "%pa..%pa\n", ®->base, &end);
> }
> return 0;
> --
> 2.34.1
>
--
Sincerely yours,
Mike.
next prev parent reply other threads:[~2023-05-16 14:11 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-16 2:06 Yuwei Guan
2023-05-16 10:17 ` Tarun Sahu
2023-05-16 14:10 ` Mike Rapoport [this message]
2023-05-17 1:52 ` Yuwei Guan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230516141033.GA4967@kernel.org \
--to=rppt@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ssawgyw@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox