Re: [PATCH] tools/drgn: Add script to display page state for a given PID and VADDR
Ye Liu <[email protected]> Thu, 17 Apr 2025 09:29:23 +0800
| Newsgroups | org.kernel.vger.linux-toolchains,org.kernel.vger.linux-kernel,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
在 2025/4/16 12:02, Paul E. McKenney 写道: > On Tue, Apr 15, 2025 at 11:28:41PM -0400, Sweet Tea Dorminy wrote: >> >> On 4/15/25 10:46 PM, Ye Liu wrote: >>> 在 2025/4/16 10:14, Andrew Morton 写道: >>>> On Tue, 15 Apr 2025 15:50:24 +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. >>>>> >>>>> Currently, there is no specific maintainer entry for `tools/drgn/` in the >>>>> MAINTAINERS file. Therefore, this patch is sent to the general kernel and >>>>> tools mailing lists for review. >>>> Help. My copy of linux has no tools/drgn/ >>> I noticed that the current upstream Linux tree doesn't contain a >>> `tools/drgn/` directory. >>> >>> I'm interested in contributing a drgn script tool as well. >>> Given that this directory does not yet exist in mainline, where would >>> be the appropriate place to add new drgn scripts? Would it make sense >>> to create a new `tools/drgn/` directory, or is there a preferred >>> location for such debugging scripts? >>> >>> Thanks, >>> Ye >> I believe the traditional thing to do with new drgn scripts is to add them >> to the contrib directory in drgn via pull request: >> https://github.com/osandov/drgn/blob/main/contrib/README.rst > I have an RCU-related drgn script in tools/rcu, so maybe this one should > go in tools/mm. To determine the most appropriate place to submit this script, I looked into existing drgn-based tooling in the kernel tree. Several drgn scripts have already been added under `tools/`, such as: - `tools/sched_ext/scx_show_state.py` - `tools/cgroup/iocost_monitor.py` - `tools/cgroup/memcg_slabinfo.py` - `tools/writeback/wb_monitor.py` - `tools/rcu/rcu-cbs.py` - `tools/workqueue/wq_dump.py` - `tools/workqueue/wq_monitor.py` Given this precedent, I believe it would be reasonable to place `show_page_info.py` under `tools/mm/`, since it's focused on memory subsystem internals and would follow a similar organizational pattern to the above. I'd appreciate any input on whether this is a suitable direction. I'm happy to send the script for review once the location is agreed upon. Thanks, Ye Liu