ANDROID: mm: add vendor hook in free_unref_folios and free_unref_page

A vendor hook to bypass free_one_page() via __free_pages_ok() was added
via https://android-review.googlesource.com/c/kernel/common/+/3458032 for
vendor modules to hook pages on certain conditions to use later instead
of freeing pages directly.

In kernel v6.12, for same purpose, free_unref_folios() and free_unref_page()
path also needs same vendor hook to bypass free_one_page().

Bug: 410432482
Change-Id: I1863eb497eee796903b483a3a9f8808ab372b475
Signed-off-by: Sooyong Suk <s.suk@samsung.corp-partner.google.com>
This commit is contained in:
Sooyong Suk
2025-07-23 13:06:46 +09:00
committed by Treehugger Robot
parent f4ada86fbb
commit daadcbc8a2
3 changed files with 18 additions and 0 deletions
+6
View File
@@ -346,6 +346,12 @@ DECLARE_HOOK(android_vh_free_pages_ok_bypass,
TP_PROTO(struct page *page, unsigned int order,
int __bitwise flags, bool *skip_free_pages_ok),
TP_ARGS(page, order, flags, skip_free_pages_ok));
DECLARE_HOOK(android_vh_free_page_bypass,
TP_PROTO(struct page *page, unsigned int order, bool *skip_free_page),
TP_ARGS(page, order, skip_free_page));
DECLARE_HOOK(android_vh_free_folio_bypass,
TP_PROTO(struct folio *folio, unsigned int order, bool *skip_free_folio),
TP_ARGS(folio, order, skip_free_folio));
DECLARE_HOOK(android_vh_free_pages_prepare_init,
TP_PROTO(struct page *page, int nr_pages, bool *init),
TP_ARGS(page, nr_pages, init));