diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 0b9d1866e38e..229f0e712f93 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -319,3 +319,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_folio_look_around_ref); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_look_around); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_look_around_migrate_folio); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_test_clear_look_around_ref); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tune_scan_type); diff --git a/include/trace/hooks/vmscan.h b/include/trace/hooks/vmscan.h index a52ab44d135f..d66ab9279266 100644 --- a/include/trace/hooks/vmscan.h +++ b/include/trace/hooks/vmscan.h @@ -39,6 +39,10 @@ DECLARE_HOOK(android_vh_file_is_tiny_bypass, DECLARE_HOOK(android_vh_check_folio_look_around_ref, TP_PROTO(struct folio *folio, int *skip), TP_ARGS(folio, skip)); +enum scan_balance; +DECLARE_HOOK(android_vh_tune_scan_type, + TP_PROTO(enum scan_balance *scan_type), + TP_ARGS(scan_type)); #endif /* _TRACE_HOOK_VMSCAN_H */ /* This part must be outside protection */ #include diff --git a/mm/vmscan.c b/mm/vmscan.c index b15bec001fa1..73e96cd78b21 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -3020,6 +3020,7 @@ static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc, fraction[1] = fp; denominator = ap + fp; out: + trace_android_vh_tune_scan_type(&scan_balance); for_each_evictable_lru(lru) { int file = is_file_lru(lru); unsigned long lruvec_size;