ANDROID: vendor_hook: add vendor hook on calculate_totalreserve_pages

This vendor hook enables or disables updating the LMKD zone watermark level.

Bug: 396115949
Test: build
Change-Id: I0089a0586821120e47c46e08bcfea11a1602d516
Signed-off-by: Martin Liu <liumartin@google.com>
This commit is contained in:
Martin Liu
2025-03-21 08:45:17 +00:00
parent 5145d15773
commit 2fb96ec85c
3 changed files with 8 additions and 0 deletions

View File

@@ -475,3 +475,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_trigger_vendor_lmk_kill);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_filemap_map_pages_range);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_vprintk_store);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_folio_referenced_check_bypass);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_calculate_totalreserve_pages);

View File

@@ -302,6 +302,9 @@ DECLARE_HOOK(android_vh_filemap_map_pages_range,
TP_PROTO(struct file *file, pgoff_t orig_start_pgoff,
pgoff_t last_pgoff, vm_fault_t ret),
TP_ARGS(file, orig_start_pgoff, last_pgoff, ret));
DECLARE_HOOK(android_vh_calculate_totalreserve_pages,
TP_PROTO(bool *skip),
TP_ARGS(skip));
#endif /* _TRACE_HOOK_MM_H */
/* This part must be outside protection */

View File

@@ -8950,6 +8950,7 @@ static void calculate_totalreserve_pages(void)
struct pglist_data *pgdat;
unsigned long reserve_pages = 0;
enum zone_type i, j;
bool skip = false;
for_each_online_pgdat(pgdat) {
@@ -8978,6 +8979,9 @@ static void calculate_totalreserve_pages(void)
}
}
totalreserve_pages = reserve_pages;
trace_android_vh_calculate_totalreserve_pages(&skip);
if (skip)
return;
trace_mm_calculate_totalreserve_pages(totalreserve_pages);
}