ANDROID: mm: Add vendor hook in filemap_get_folio()

Add a vendor hook for pagecache hit/miss and other
vendor specific functions.

Bug: 174088128
Bug: 172987241
Signed-off-by: Chiawei Wang <chiaweiwang@google.com>
Change-Id: Ie9f14a69a86b8ed81de766e44e30f2eba1d9bd84
Signed-off-by: Richard Chang <richardycc@google.com>
(cherry picked from commit db158b4ae0543446d38313c3da942afee9947267)
Signed-off-by: Jack Lee <liangjlee@google.com>
This commit is contained in:
Chiawei Wang 2021-02-18 10:47:37 +08:00 committed by Suren Baghdasaryan
parent 1b3269beea
commit 401b78ce87
3 changed files with 11 additions and 0 deletions

View File

@ -345,3 +345,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_compaction_begin);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_compaction_end);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_bus_iommu_probe);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rmqueue);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_filemap_get_folio);

View File

@ -53,6 +53,10 @@ DECLARE_HOOK(android_vh_rmqueue,
unsigned int alloc_flags, int migratetype),
TP_ARGS(preferred_zone, zone, order,
gfp_flags, alloc_flags, migratetype));
DECLARE_HOOK(android_vh_filemap_get_folio,
TP_PROTO(struct address_space *mapping, pgoff_t index,
int fgp_flags, gfp_t gfp_mask, struct folio *folio),
TP_ARGS(mapping, index, fgp_flags, gfp_mask, folio));
DECLARE_HOOK(android_vh_meminfo_proc_show,
TP_PROTO(struct seq_file *m),
TP_ARGS(m));

View File

@ -50,6 +50,9 @@
#define CREATE_TRACE_POINTS
#include <trace/events/filemap.h>
#undef CREATE_TRACE_POINTS
#include <trace/hooks/mm.h>
/*
* FIXME: remove all knowledge of the buffer layer from the core VM
*/
@ -1930,6 +1933,9 @@ struct folio *__filemap_get_folio(struct address_space *mapping, pgoff_t index,
return folio;
folio = NULL;
}
trace_android_vh_filemap_get_folio(mapping, index, fgp_flags,
gfp, folio);
if (!folio)
goto no_page;