FROMGIT: mm/page_alloc: add trace event for totalreserve_pages calculation

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>

Bug: 396115949
(cherry picked from commit 15766485e4a51bec2dcce304c089a95550720033
 https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable)
Change-Id: Iced6ea39ad8a36a50bf4393814b6bca2f64ac3b0
Signed-off-by: Martin Liu <liumartin@google.com>
This commit is contained in:
Martin Liu
2025-03-08 03:46:02 +00:00
committed by Treehugger Robot
parent 1295f3281a
commit 5053fe7d91
2 changed files with 19 additions and 0 deletions
+18
View 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.
*/
+1
View File
@@ -6305,6 +6305,7 @@ static void calculate_totalreserve_pages(void)
}
}
totalreserve_pages = reserve_pages;
trace_mm_calculate_totalreserve_pages(totalreserve_pages);
}
/*