Re: [PATCH v5] tools/mm: Add script to display page state for a given PID and VADDR

SeongJae Park <[email protected]> Fri, 30 May 2025 13:06:21 -0700
Newsgroups org.kernel.vger.linux-debuggers,org.kernel.vger.linux-kernel,org.kernel.vger.linux-toolchains,org.kvack.linux-mm
Message-ID <[email protected]>
On Fri, 30 May 2025 13:58:55 +0800 Ye Liu <[email protected]> wrote:

> From: Ye Liu <[email protected]>
> 
> Introduces a new drgn script, `show_page_info.py`, which allows users
> to analyze the state of a page given a process ID (PID) and a virtual
> address (VADDR). This can help kernel developers or debuggers easily
> inspect page-related information in a live kernel or vmcore.
> 
> The script extracts information such as the page flags, mapping, and
> other metadata relevant to diagnosing memory issues.
> 
> Output example:
> sudo ./show_page_info.py 1 0x7fc988181000
> PID: 1 Comm: systemd mm: 0xffff8d22c4089700
> RAW: 0017ffffc000416c fffff939062ff708 fffff939062ffe08 ffff8d23062a12a8
> RAW: 0000000000000000 ffff8d2323438f60 0000002500000007 ffff8d23203ff500
> Page Address:    0xfffff93905664e00
> Page Flags:      PG_referenced|PG_uptodate|PG_lru|PG_head|PG_active|
>                  PG_private|PG_reported|PG_has_hwpoisoned
> Page Size:       4096
> Page PFN:        0x159938
> Page Physical:   0x159938000
> Page Virtual:    0xffff8d2319938000
> Page Refcount:   37
> Page Mapcount:   7
> Page Index:      0x0
> Page Memcg Data: 0xffff8d23203ff500
> Memcg Name:      init.scope
> Memcg Path:      /sys/fs/cgroup/memory/init.scope

As reported to the previous version, I show below on my test.

Memcg Name:      unknown
Memcg Path:      Unexpected error: 'struct kernfs_node' has no member 'parent'

I know you explained it is an issue of drgn version on my setup, as a reply to
my previous report.  But, could you please make the output more easy to
understand the problem?  No strong opinion, though.

> Page Mapping:    0xffff8d23062a12a8
> Page Anon/File:  File
> Page VMA:        0xffff8d22e06e0e40
> VMA Start:       0x7fc988181000
> VMA End:         0x7fc988185000
> This page is part of a compound page.
> This page is the head page of a compound page.
> Head Page:       0xfffff93905664e00
> Compound Order:  2
> Number of Pages: 4
> 
> Signed-off-by: Ye Liu <[email protected]>

Tested-by: SeongJae Park <[email protected]>


Thanks,
SJ

[...]