ANDROID: mm: add vendor hooks for file folio reclaim.
Add hooks for file folio reclaim. the vendor hook keep reclaimed file folios and help direct && kswapd reclaim. Fix Conflicts: drivers/android/vendor_hooks.c include/trace/hooks/mm.h include/trace/hooks/vmscan.h mm/vmscan.c remove the change of mm/memcontrol.c because https://android-review.googlesource.com/c/kernel/common/+/3603374 Bug: 407947362 Bug: 449066551 Bug: 451083029 Change-Id: I4364ae2d269e4b4b88c12823ebf66abaa4650585 Signed-off-by: Hailong Liu <hailong.liu@oppo.com> (cherry picked from commit 43bf81d175f5480a5537205f92b632ec8e5f1787) (cherry picked from commit 6bae5d457e35a9e3ebefdf45e8e9e8f957fd6c84)
This commit is contained in:
@@ -20,6 +20,10 @@ struct compact_control;
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_shmem_get_folio,
|
||||
TP_PROTO(struct shmem_inode_info *info, struct folio **folio, int order),
|
||||
TP_ARGS(info, folio, order), 3);
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_perform_reclaim,
|
||||
TP_PROTO(int order, gfp_t gfp_mask, nodemask_t *nodemask,
|
||||
unsigned long *progress, bool *skip),
|
||||
TP_ARGS(order, gfp_mask, nodemask, progress, skip), 4);
|
||||
DECLARE_HOOK(android_vh_shmem_mod_shmem,
|
||||
TP_PROTO(struct address_space *mapping, long nr_pages),
|
||||
TP_ARGS(mapping, nr_pages));
|
||||
@@ -318,6 +322,15 @@ DECLARE_HOOK(android_vh_alloc_pages_slowpath_end,
|
||||
unsigned long pages_reclaimed, int retry_loop_count),
|
||||
TP_ARGS(gfp_mask, order, alloc_start, stime, did_some_progress,
|
||||
pages_reclaimed, retry_loop_count));
|
||||
DECLARE_HOOK(android_vh_filemap_pages,
|
||||
TP_PROTO(struct folio *folio),
|
||||
TP_ARGS(folio));
|
||||
DECLARE_HOOK(android_vh_lru_gen_add_folio_skip,
|
||||
TP_PROTO(struct lruvec *lruvec, struct folio *folio, bool *skip),
|
||||
TP_ARGS(lruvec, folio, skip));
|
||||
DECLARE_HOOK(android_vh_lru_gen_del_folio_skip,
|
||||
TP_PROTO(struct lruvec *lruvec, struct folio *folio, bool *skip),
|
||||
TP_ARGS(lruvec, folio, skip));
|
||||
DECLARE_HOOK(android_vh_add_lazyfree_bypass,
|
||||
TP_PROTO(struct lruvec *lruvec, struct folio *folio, bool *bypass),
|
||||
TP_ARGS(lruvec, folio, bypass));
|
||||
|
||||
@@ -15,6 +15,9 @@ struct lruvec;
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_set_balance_anon_file_reclaim,
|
||||
TP_PROTO(bool *balance_anon_file_reclaim),
|
||||
TP_ARGS(balance_anon_file_reclaim), 1);
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_kswapd_shrink_node,
|
||||
TP_PROTO(unsigned long *nr_reclaimed),
|
||||
TP_ARGS(nr_reclaimed), 1);
|
||||
DECLARE_HOOK(android_vh_check_folio_look_around_ref,
|
||||
TP_PROTO(struct folio *folio, int *skip),
|
||||
TP_ARGS(folio, skip));
|
||||
@@ -31,6 +34,16 @@ DECLARE_HOOK(android_vh_inode_lru_isolate,
|
||||
DECLARE_HOOK(android_vh_invalidate_mapping_pagevec,
|
||||
TP_PROTO(struct address_space *mapping, bool *skip),
|
||||
TP_ARGS(mapping, skip));
|
||||
DECLARE_HOOK(android_vh_keep_reclaimed_folio,
|
||||
TP_PROTO(struct folio *folio, int refcount, bool *keep),
|
||||
TP_ARGS(folio, refcount, keep));
|
||||
DECLARE_HOOK(android_vh_clear_reclaimed_folio,
|
||||
TP_PROTO(struct folio *folio, bool reclaimed),
|
||||
TP_ARGS(folio, reclaimed));
|
||||
DECLARE_HOOK(android_vh_evict_folios_bypass,
|
||||
TP_PROTO(struct folio *folio, bool *bypass),
|
||||
TP_ARGS(folio, bypass));
|
||||
|
||||
DECLARE_HOOK(android_vh_modify_scan_control,
|
||||
TP_PROTO(u64 *ext, unsigned long *nr_to_reclaim,
|
||||
struct mem_cgroup *target_mem_cgroup,
|
||||
|
||||
Reference in New Issue
Block a user