ANDROID: add for tuning readahead size
Tune ReadAhead size for better memory usage and performance. accordding to Read-Ahead Efficiency on Mobile Devices: Observation, Characterization, and Optimization form IEEE Bug: 229839032 Bug: 395197442 Change-Id: I91656bde5e616e181fd7557554d55e7ce1858136 Signed-off-by: liang zhang <liang.zhang@transsion.com> Signed-off-by: Oven <liyangouwen1@oppo.com> Signed-off-by: huzhanyuan <huzhanyuan@oppo.com> Signed-off-by: wengle <wengle@oppo.com>
This commit is contained in:
committed by
Carlos Llamas
parent
21c64f5a21
commit
b6f24657f2
@@ -174,6 +174,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_kvmalloc_node_use_vmalloc);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_should_alloc_pages_retry);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_unreserve_highatomic_bypass);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rmqueue_bulk_bypass);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ra_tuning_max_page);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_hw_protection_shutdown);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_shrink_slab_bypass);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_drain_all_pages_bypass);
|
||||
|
||||
@@ -177,6 +177,9 @@ DECLARE_HOOK(android_vh_process_madvise,
|
||||
DECLARE_HOOK(android_vh_count_workingset_refault,
|
||||
TP_PROTO(struct folio *folio),
|
||||
TP_ARGS(folio));
|
||||
DECLARE_HOOK(android_vh_ra_tuning_max_page,
|
||||
TP_PROTO(struct readahead_control *ractl, unsigned long *max_page),
|
||||
TP_ARGS(ractl, max_page));
|
||||
DECLARE_HOOK(android_vh_calc_alloc_flags,
|
||||
TP_PROTO(gfp_t gfp_mask, unsigned int *alloc_flags,
|
||||
bool *bypass),
|
||||
|
||||
@@ -533,6 +533,9 @@ static unsigned long ractl_max_pages(struct readahead_control *ractl,
|
||||
*/
|
||||
if (req_size > max_pages && bdi->io_pages > max_pages)
|
||||
max_pages = min(req_size, bdi->io_pages);
|
||||
|
||||
trace_android_vh_ra_tuning_max_page(ractl, &max_pages);
|
||||
|
||||
return max_pages;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user