diff mbox series

trace/events/page_ref: add page info to page_ref trace event

Message ID 20241031024222.505844-1-quic_yingangl@quicinc.com (mailing list archive)
State New
Headers show
Series trace/events/page_ref: add page info to page_ref trace event | expand

Commit Message

Kassey Li Oct. 31, 2024, 2:42 a.m. UTC
This followed
commit 53d884a6675b ("mm, tracing: unify PFN format strings")
to add page info.

In many kernel code we are talking with page other than pfn,
here we added page algin with pfn.

Signed-off-by: Kassey Li <quic_yingangl@quicinc.com>
---
 include/trace/events/page_ref.h | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

Comments

Matthew Wilcox Oct. 31, 2024, 3:56 a.m. UTC | #1
On Thu, Oct 31, 2024 at 10:42:22AM +0800, Kassey Li wrote:
> This followed
> commit 53d884a6675b ("mm, tracing: unify PFN format strings")
> to add page info.
> 
> In many kernel code we are talking with page other than pfn,
> here we added page algin with pfn.

It's generally a bad idea to print pointers to kernel memory, so no I
don't like this patch.
diff mbox series

Patch

diff --git a/include/trace/events/page_ref.h b/include/trace/events/page_ref.h
index fe33a255b7d0..76df13b2a5b3 100644
--- a/include/trace/events/page_ref.h
+++ b/include/trace/events/page_ref.h
@@ -18,6 +18,7 @@  DECLARE_EVENT_CLASS(page_ref_mod_template,
 
 	TP_STRUCT__entry(
 		__field(unsigned long, pfn)
+		__field(const struct page *, page)
 		__field(unsigned long, flags)
 		__field(int, count)
 		__field(int, mapcount)
@@ -28,6 +29,7 @@  DECLARE_EVENT_CLASS(page_ref_mod_template,
 
 	TP_fast_assign(
 		__entry->pfn = page_to_pfn(page);
+		__entry->page = page;
 		__entry->flags = page->flags;
 		__entry->count = page_ref_count(page);
 		__entry->mapcount = atomic_read(&page->_mapcount);
@@ -36,8 +38,9 @@  DECLARE_EVENT_CLASS(page_ref_mod_template,
 		__entry->val = v;
 	),
 
-	TP_printk("pfn=0x%lx flags=%s count=%d mapcount=%d mapping=%p mt=%d val=%d",
+	TP_printk("pfn=0x%lx page=%p flags=%s count=%d mapcount=%d mapping=%p mt=%d val=%d",
 		__entry->pfn,
+		__entry->page,
 		show_page_flags(__entry->flags & PAGEFLAGS_MASK),
 		__entry->count,
 		__entry->mapcount, __entry->mapping, __entry->mt,
@@ -66,6 +69,7 @@  DECLARE_EVENT_CLASS(page_ref_mod_and_test_template,
 
 	TP_STRUCT__entry(
 		__field(unsigned long, pfn)
+		__field(const struct page *, page)
 		__field(unsigned long, flags)
 		__field(int, count)
 		__field(int, mapcount)
@@ -77,6 +81,7 @@  DECLARE_EVENT_CLASS(page_ref_mod_and_test_template,
 
 	TP_fast_assign(
 		__entry->pfn = page_to_pfn(page);
+		__entry->page = page;
 		__entry->flags = page->flags;
 		__entry->count = page_ref_count(page);
 		__entry->mapcount = atomic_read(&page->_mapcount);
@@ -86,8 +91,9 @@  DECLARE_EVENT_CLASS(page_ref_mod_and_test_template,
 		__entry->ret = ret;
 	),
 
-	TP_printk("pfn=0x%lx flags=%s count=%d mapcount=%d mapping=%p mt=%d val=%d ret=%d",
+	TP_printk("pfn=0x%lx page=%p flags=%s count=%d mapcount=%d mapping=%p mt=%d val=%d ret=%d",
 		__entry->pfn,
+		__entry->page,
 		show_page_flags(__entry->flags & PAGEFLAGS_MASK),
 		__entry->count,
 		__entry->mapcount, __entry->mapping, __entry->mt,