diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index efd43dad1669..a7608d1f39ac 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -263,3 +263,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_dequeue_task_fair); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_prepare_update_load_avg_se); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_finish_update_load_avg_se); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_selinux_is_initialized); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tune_inactive_ratio); diff --git a/include/trace/hooks/vmscan.h b/include/trace/hooks/vmscan.h index c3500d85e9d0..1afcdad10bd0 100644 --- a/include/trace/hooks/vmscan.h +++ b/include/trace/hooks/vmscan.h @@ -19,6 +19,9 @@ DECLARE_HOOK(android_vh_tune_swappiness, DECLARE_HOOK(android_vh_shrink_slab_bypass, TP_PROTO(gfp_t gfp_mask, int nid, struct mem_cgroup *memcg, int priority, bool *bypass), TP_ARGS(gfp_mask, nid, memcg, priority, bypass)); +DECLARE_HOOK(android_vh_tune_inactive_ratio, + TP_PROTO(unsigned long *inactive_ratio, int file), + TP_ARGS(inactive_ratio, file)) #endif /* _TRACE_HOOK_VMSCAN_H */ /* This part must be outside protection */ -#include \ No newline at end of file +#include diff --git a/mm/vmscan.c b/mm/vmscan.c index b1982859fa56..28675621c0cc 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -2238,6 +2238,8 @@ static bool inactive_is_low(struct lruvec *lruvec, enum lru_list inactive_lru) else inactive_ratio = 1; + trace_android_vh_tune_inactive_ratio(&inactive_ratio, is_file_lru(inactive_lru)); + return inactive * inactive_ratio < active; }