ANDROID: vendor_hooks: Add hook to precisely control readahead
Add vendor hooks to precisely control readahead based on various factors, such as filesystem type, file type, process priority, and other considerations. Bug: 387208968 Bug: 415915027 Change-Id: I3016c5e0da487ae03b760dce4f6dbc0d90f145b3 Signed-off-by: Yang Yang <yang.yang@vivo.com> (cherry picked from commit d005368a82ecc5b4f7e04d9df7d007ef384bcd2f) Signed-off-by: ying zuxin <11154159@vivo.com>
This commit is contained in:
committed by
Sandeep Dhavale
parent
2b9ccc455b
commit
575d29316a
@@ -384,6 +384,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_fuse_request_send);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_fuse_request_end);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_lruvec_add_folio);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_lruvec_del_folio);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_async_mmap_readahead);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tcp_sock_error);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tcp_fastsyn);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tcp_state_change);
|
||||
|
||||
@@ -323,6 +323,11 @@ DECLARE_HOOK(android_vh_alloc_pages_slowpath_end,
|
||||
DECLARE_HOOK(android_vh_add_lazyfree_bypass,
|
||||
TP_PROTO(struct lruvec *lruvec, struct folio *folio, bool *bypass),
|
||||
TP_ARGS(lruvec, folio, bypass));
|
||||
|
||||
DECLARE_HOOK(android_vh_do_async_mmap_readahead,
|
||||
TP_PROTO(struct vm_fault *vmf, struct folio *folio, bool *skip),
|
||||
TP_ARGS(vmf, folio, skip));
|
||||
|
||||
DECLARE_HOOK(android_vh_alloc_contig_range_not_isolated,
|
||||
TP_PROTO(unsigned long start, unsigned end),
|
||||
TP_ARGS(start, end));
|
||||
|
||||
@@ -3271,6 +3271,11 @@ static struct file *do_async_mmap_readahead(struct vm_fault *vmf,
|
||||
DEFINE_READAHEAD(ractl, file, ra, file->f_mapping, vmf->pgoff);
|
||||
struct file *fpin = NULL;
|
||||
unsigned int mmap_miss;
|
||||
bool skip = false;
|
||||
|
||||
trace_android_vh_do_async_mmap_readahead(vmf, folio, &skip);
|
||||
if (skip)
|
||||
return fpin;
|
||||
|
||||
/* If we don't want any read-ahead, don't bother */
|
||||
if (vmf->vma->vm_flags & VM_RAND_READ || !ra->ra_pages)
|
||||
|
||||
Reference in New Issue
Block a user