ANDROID: mm: Add vendor hook before rmqueue_bulk
This patch add a vendor hook to override batch size passed in rmqueue_bulk, which is used to mitigate issues from long local IRQ off. Bug: 416197949 Change-Id: I2ff642ed2afa1a5c3f5fe1111446aa6e768f0b64 Signed-off-by: Chinwen Chang <chinwen.chang@mediatek.com>
This commit is contained in:
committed by
Suren Baghdasaryan
parent
34fe71fe24
commit
ac8b302ab0
@@ -527,3 +527,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_direct_reclaim_exit);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_may_oom_exit);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_calculate_totalreserve_pages);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_madvise_cold_pageout_skip);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rmqueue_pcplist_override_batch);
|
||||
|
||||
@@ -464,6 +464,9 @@ DECLARE_HOOK(android_vh_lruvec_del_folio,
|
||||
TP_PROTO(struct lruvec *lruvec, struct folio *folio, enum lru_list lru,
|
||||
bool *skip),
|
||||
TP_ARGS(lruvec, folio, lru, skip));
|
||||
DECLARE_HOOK(android_vh_rmqueue_pcplist_override_batch,
|
||||
TP_PROTO(int *batch),
|
||||
TP_ARGS(batch));
|
||||
#endif /* _TRACE_HOOK_MM_H */
|
||||
|
||||
/* This part must be outside protection */
|
||||
|
||||
@@ -3291,6 +3291,9 @@ struct page *___rmqueue_pcplist(struct zone *zone, unsigned int order,
|
||||
trace_android_vh_rmqueue_bulk_bypass(order, pcp, migratetype, list);
|
||||
if (!list_empty(list))
|
||||
goto get_list;
|
||||
|
||||
trace_android_vh_rmqueue_pcplist_override_batch(&batch);
|
||||
|
||||
alloced = rmqueue_bulk(zone, order,
|
||||
batch, list,
|
||||
migratetype, alloc_flags);
|
||||
|
||||
Reference in New Issue
Block a user