]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mm/page_alloc: add trace event for totalreserve_pages calculation
authorMartin Liu <liumartin@google.com>
Sat, 8 Mar 2025 03:46:02 +0000 (03:46 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 18 Mar 2025 05:07:03 +0000 (22:07 -0700)
This commit introduces a new trace event,
`mm_calculate_totalreserve_pages`, which reports the new reserve value at
the exact time when it takes effect.

The `totalreserve_pages` value represents the total amount of memory
reserved across all zones and nodes in the system.  This reserved memory
is crucial for ensuring that critical kernel operations have access to
sufficient memory, even under memory pressure.

By tracing the `totalreserve_pages` value, developers can gain insights
that how the total reserved memory changes over time.

Link: https://lkml.kernel.org/r/20250308034606.2036033-4-liumartin@google.com
Signed-off-by: Martin Liu <liumartin@google.com>
Acked-by: David Rientjes <rientjes@google.com>
Cc: "Masami Hiramatsu (Google)" <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/trace/events/kmem.h
mm/page_alloc.c

index 9623e68d4d267c20dda1a5d7706803e90345de8d..f74925a6cf694c28432b61a3d709d3b76f2dab1b 100644 (file)
@@ -402,6 +402,24 @@ TRACE_EVENT(mm_setup_per_zone_lowmem_reserve,
                  __entry->lowmem_reserve)
 );
 
+TRACE_EVENT(mm_calculate_totalreserve_pages,
+
+       TP_PROTO(unsigned long totalreserve_pages),
+
+       TP_ARGS(totalreserve_pages),
+
+       TP_STRUCT__entry(
+               __field(unsigned long, totalreserve_pages)
+       ),
+
+       TP_fast_assign(
+               __entry->totalreserve_pages = totalreserve_pages;
+       ),
+
+       TP_printk("totalreserve_pages=%lu", __entry->totalreserve_pages)
+);
+
+
 /*
  * Required for uniquely and securely identifying mm in rss_stat tracepoint.
  */
index a82d96cb3044082c177c0b121d053ed5d14daa04..0be1fedd12012dbd7ef7b9ca20404ca92e99d988 100644 (file)
@@ -5914,6 +5914,7 @@ static void calculate_totalreserve_pages(void)
                }
        }
        totalreserve_pages = reserve_pages;
+       trace_mm_calculate_totalreserve_pages(totalreserve_pages);
 }
 
 /*