From: Andi Kleen <ak@linux.intel.com>
To: Pasha Tatashin <pasha.tatashin@soleen.com>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org,
cgroups@vger.kernel.org, linux-kselftest@vger.kernel.org,
akpm@linux-foundation.org, corbet@lwn.net,
derek.kiernan@amd.com, dragan.cvetic@amd.com, arnd@arndb.de,
gregkh@linuxfoundation.org, viro@zeniv.linux.org.uk,
brauner@kernel.org, jack@suse.cz, tj@kernel.org,
hannes@cmpxchg.org, mhocko@kernel.org,
roman.gushchin@linux.dev, shakeel.butt@linux.dev,
muchun.song@linux.dev, Liam.Howlett@oracle.com,
lorenzo.stoakes@oracle.com, vbabka@suse.cz, jannh@google.com,
shuah@kernel.org, vegard.nossum@oracle.com,
vattunuru@marvell.com, schalla@marvell.com, david@redhat.com,
willy@infradead.org, osalvador@suse.de,
usama.anjum@collabora.com, andrii@kernel.org,
ryan.roberts@arm.com, peterx@redhat.com, oleg@redhat.com,
tandersen@
Subject: Re: [RFCv1 0/6] Page Detective
Date: Wed, 20 Nov 2024 07:29:34 -0800 [thread overview]
Message-ID: <87wmgxvs81.fsf@linux.intel.com> (raw)
In-Reply-To: <20241116175922.3265872-1-pasha.tatashin@soleen.com> (Pasha Tatashin's message of "Sat, 16 Nov 2024 17:59:16 +0000")
Pasha Tatashin <pasha.tatashin@soleen.com> writes:
> Page Detective is a new kernel debugging tool that provides detailed
> information about the usage and mapping of physical memory pages.
>
> It is often known that a particular page is corrupted, but it is hard to
> extract more information about such a page from live system. Examples
> are:
>
> - Checksum failure during live migration
> - Filesystem journal failure
> - dump_page warnings on the console log
> - Unexcpected segfaults
>
> Page Detective helps to extract more information from the kernel, so it
> can be used by developers to root cause the associated problem.
>
> It operates through the Linux debugfs interface, with two files: "virt"
> and "phys".
>
> The "virt" file takes a virtual address and PID and outputs information
> about the corresponding page.
>
> The "phys" file takes a physical address and outputs information about
> that page.
>
> The output is presented via kernel log messages (can be accessed with
> dmesg), and includes information such as the page's reference count,
> mapping, flags, and memory cgroup. It also shows whether the page is
> mapped in the kernel page table, and if so, how many times.
A lot of all that is already covered in /proc/kpage{flags,cgroup,count)
Also we already have /proc/pid/pagemap to resolve virtual addresses.
At a minimum you need to discuss why these existing mechanisms are not
suitable for you and how your new one is better.
If something particular is missing perhaps the existing mechanisms
can be extended?
Outputting in the dmesg seems rather clumpsy for a production mechanism.
I personally would just use live crash or live gdb on /proc/kcore to get
extra information, although I can see that might have races.
-Andi
next prev parent reply other threads:[~2024-11-20 15:29 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-16 17:59 Pasha Tatashin
2024-11-16 17:59 ` [RFCv1 1/6] mm: Make get_vma_name() function public Pasha Tatashin
2024-11-18 10:26 ` Lorenzo Stoakes
2024-11-18 20:40 ` Pasha Tatashin
2024-11-18 20:44 ` Matthew Wilcox
2024-11-18 22:26 ` Pasha Tatashin
2024-11-16 17:59 ` [RFCv1 2/6] pagewalk: Add a page table walker for init_mm page table Pasha Tatashin
2024-11-18 6:49 ` Christoph Hellwig
2024-11-18 10:32 ` Lorenzo Stoakes
2024-11-18 20:42 ` Pasha Tatashin
2024-11-16 17:59 ` [RFCv1 3/6] mm: Add a dump_page variant that accept log level argument Pasha Tatashin
2024-11-16 17:59 ` [RFCv1 4/6] misc/page_detective: Introduce Page Detective Pasha Tatashin
2024-11-16 22:20 ` Jonathan Corbet
2024-11-18 20:43 ` Pasha Tatashin
2024-11-18 11:11 ` Lorenzo Stoakes
2024-11-18 21:55 ` Jann Horn
2024-11-16 17:59 ` [RFCv1 5/6] misc/page_detective: enable loadable module Pasha Tatashin
2024-11-16 17:59 ` [RFCv1 6/6] selftests/page_detective: Introduce self tests for Page Detective Pasha Tatashin
2024-11-17 6:25 ` Muhammad Usama Anjum
2024-11-18 20:27 ` Pasha Tatashin
2024-11-18 11:17 ` [RFCv1 0/6] " Lorenzo Stoakes
2024-11-18 12:53 ` Jann Horn
2024-11-18 22:24 ` Pasha Tatashin
2024-11-19 0:39 ` Jann Horn
2024-11-19 1:29 ` Pasha Tatashin
2024-11-19 12:52 ` Jann Horn
2024-11-19 15:14 ` Pasha Tatashin
2024-11-19 15:53 ` Jann Horn
2024-11-19 18:51 ` Matthew Wilcox
2024-11-18 19:11 ` Roman Gushchin
2024-11-18 22:08 ` Pasha Tatashin
2024-11-19 1:09 ` Greg KH
2024-11-19 15:08 ` Pasha Tatashin
2024-11-19 18:23 ` Roman Gushchin
2024-11-19 19:30 ` Pasha Tatashin
2024-11-19 19:35 ` Yosry Ahmed
2024-11-19 20:57 ` Roman Gushchin
2024-11-20 16:13 ` Pasha Tatashin
2024-11-20 17:33 ` Yosry Ahmed
2024-11-20 17:46 ` Pasha Tatashin
2024-11-20 15:29 ` Andi Kleen [this message]
2024-11-20 16:40 ` Pasha Tatashin
2024-11-20 19:14 ` Andi Kleen
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=87wmgxvs81.fsf@linux.intel.com \
--to=ak@linux.intel.com \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=andrii@kernel.org \
--cc=arnd@arndb.de \
--cc=brauner@kernel.org \
--cc=cgroups@vger.kernel.org \
--cc=corbet@lwn.net \
--cc=david@redhat.com \
--cc=derek.kiernan@amd.com \
--cc=dragan.cvetic@amd.com \
--cc=gregkh@linuxfoundation.org \
--cc=hannes@cmpxchg.org \
--cc=jack@suse.cz \
--cc=jannh@google.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=mhocko@kernel.org \
--cc=muchun.song@linux.dev \
--cc=oleg@redhat.com \
--cc=osalvador@suse.de \
--cc=pasha.tatashin@soleen.com \
--cc=peterx@redhat.com \
--cc=roman.gushchin@linux.dev \
--cc=ryan.roberts@arm.com \
--cc=schalla@marvell.com \
--cc=shakeel.butt@linux.dev \
--cc=shuah@kernel.org \
--cc=tj@kernel.org \
--cc=usama.anjum@collabora.com \
--cc=vattunuru@marvell.com \
--cc=vbabka@suse.cz \
--cc=vegard.nossum@oracle.com \
--cc=viro@zeniv.linux.org.uk \
--cc=willy@infradead.org \
/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